Ter*_* Ng 9 python scrapy web-scraping
这是我要抓的链接:http://www.prudential.com.hk/PruServlet? module = fund &purpose = searchHistFund&fundCd = MMFU_U
"英文版"选项卡位于右上角,以显示网页的英文版本.
我必须按一个按钮才能阅读网页上的资金信息.如果没有,则视图被阻止,并且使用scrapy shell总是导致空[].
<div onclick="AgreeClick()" style="width:200px; padding:8px; border:1px black solid;
background-color:#cccccc; cursor:pointer;">Confirmed</div>
Run Code Online (Sandbox Code Playgroud)
AgreeClick的功能是:
function AgreeClick() {
var cookieKey = "ListFundShowDisclaimer";
SetCookie(cookieKey, "true", null);
Get("disclaimerDiv").style.display = "none";
Get("blankDiv").style.display = "none";
Get("screenDiv").style.display = "none";
//Get("contentTable").style.display = "block";
ShowDropDown();
Run Code Online (Sandbox Code Playgroud)
如何克服这个onclick ="AgreeClick()"函数来刮网页?
您不能只单击 scrapy 内的链接(请参阅单击 Scrapy 中的按钮)。
首先,检查您需要的数据是否已经存在 - 在 html 中(它在后台 - 所以它就在那里)。
另一种选择是硒:
from selenium import webdriver
import time
browser = webdriver.Firefox()
browser.get("http://www.prudential.com.hk/PruServlet?module=fund&purpose=searchHistFund&fundCd=MMFU_U")
elem = browser.find_element_by_xpath('//*[@id="disclaimer"]/div/div')
elem.click()
time.sleep(0.2)
elem = browser.find_element_by_xpath("//*")
print elem.get_attribute("outerHTML")
Run Code Online (Sandbox Code Playgroud)
另一种选择是使用mechanize。它不能执行js代码,但根据源代码,AgreeClick只是将cookie设置ListFundShowDisclaimer为true. 这是一个起点(不确定是否有效):
import cookielib
import mechanize
br = mechanize.Browser()
cj = cookielib.CookieJar()
ck = cookielib.Cookie(version=0, name='ListFundShowDisclaimer', value='true', port=None, port_specified=False,
domain='www.prudential.com.hk', domain_specified=False, domain_initial_dot=False, path='/',
path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None,
rest={'HttpOnly': None}, rfc2109=False)
cj.set_cookie(ck)
br.set_cookiejar(cj)
br.open("http://www.prudential.com.hk/PruServlet?module=fund&purpose=searchHistFund&fundCd=MMFU_U")
print br.response().read()
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用或任何您喜欢的内容来解析结果BeautifulSoup。
| 归档时间: |
|
| 查看次数: |
12405 次 |
| 最近记录: |