Scrapy爬虫无法获取部分数据

  • 今晚在尝试爬去某基金网站时候调试了一晚上,无论怎么调整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#取标签动态加载的数据
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Selenium是一款强大的基于浏览器的开源自动化测试工具,最初由 Jason Huggins 于 2004 年在...
    FifiZhuang阅读 12,299评论 5 71
  • 上网原理 1、爬虫概念 爬虫是什麽? 蜘蛛,蛆,代码中,就是写了一段代码,代码的功能从互联网中提取数据 互联网: ...
    riverstation阅读 12,673评论 1 2
  • 每天每天不变的人 每天每天不变的事 每天每天不变的话题 渐渐地 渐渐地 眼中只有这些人、这些事、这些话题 渐渐地 ...
    时光机美人阅读 1,333评论 0 0
  • 这是个缺爱的时代,因为到处都在写爱情。 这是个缺钱的时代,因为到处都在讲理财。 这是个缺心的时代,因为到处都是鸡汤...
    A皓月阅读 4,363评论 16 16
  • 每次路过都忍不住要赞叹一句:盛世气象!
    西安老蔡阅读 1,508评论 0 0

友情链接更多精彩内容