美文网首页
Scrapy爬虫无法获取部分数据

Scrapy爬虫无法获取部分数据

作者: Orzlove | 来源:发表于2018-10-04 00:54 被阅读0次
  • 今晚在尝试爬去某基金网站时候调试了一晚上,无论怎么调整Xpath匹配规则基金的业绩情况都无法获取到,而部分标题等可以获取到。
  • 为什么出现上述情况:该网站一些标题等固定的页面展示数据是静态加载的,这个数据我们可以在Scrapy默认的response中找到,而基金业绩数据却是动态加载的,打印出来的response的报文体中确实不存在基金的业绩数据。
  • 如何解决动态加载数据的问题呢?我们可以借助Selenium框架来解决,Selenium需要用到浏览器驱动,本人使用的为chrome。
  1. 首先我们需要利用如下命令知道自己浏览器的版本(在浏览器搜索栏输入如下命令):

 chrome://version/

2.下载 chromedriver,并将chromdriver放置于python路径下(同python.exe一个文件下)。chromedriver与浏览器的版本对应关系可参考 此博客

3.利用如下代码即可获取到页面动态加载的信息了(这里省略了利用Scrapy建立爬虫工程和具体爬虫):

from selenium import webdriver
#作为测试,我们可以直接在parse函数中验证是否可以取到数据
browser = webdriver.Chrome()#注意Chrome()首字母大写
browser.get("http://fundf10.eastmoney.com/jdzf_002190.html")
data = browser.find_element_by_xpath("//*[@id='jdzftable']/div/ul[2]/li[2]").text#取标签动态加载的数据

相关文章

网友评论

      本文标题:Scrapy爬虫无法获取部分数据

      本文链接:https://www.haomeiwen.com/subject/vdgtaftx.html