scrapy中使用selenium
在通过scrapy
框架进行某些网站数据爬取的时候,往往会碰到页面动态数据加载的情况发生,如果直接使用scrapy
对其url
发请求,是绝对获取不到那部分动态加载出来的数据值。但是通过观察我们会发现,通过浏览器进行url
请求发送则会加载出对应的动态加载出的数据。那么如果我们想要在scrapy
也获取动态加载出的数据,则必须使用selenium
创建浏览器对象,然后通过该浏览器对象进行请求发送,获取动态加载的数据值。
在通过scrapy
框架进行某些网站数据爬取的时候,往往会碰到页面动态数据加载的情况发生,如果直接使用scrapy
对其url
发请求,是绝对获取不到那部分动态加载出来的数据值。但是通过观察我们会发现,通过浏览器进行url
请求发送则会加载出对应的动态加载出的数据。那么如果我们想要在scrapy
也获取动态加载出的数据,则必须使用selenium
创建浏览器对象,然后通过该浏览器对象进行请求发送,获取动态加载的数据值。
爬取页面过程中免不了目标网站做了反爬虫机制,我们也要相应的有反反爬虫策略来应对,最基本的user-agent
和ip
我们在爬取一些特别是相对来说知名的网站,目标肯定做了反爬虫机制,我们就要随机的改变下我们爬虫的user-agent
和访问ip
。
运行爬虫时,控制台会打印出scrapy
日志信息,我们可以控制scrapy
日志显示等级。
Scrapy
是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板。对于框架的学习,重点是要学习其框架的特性、各个功能的用法即可。
Selenium
是针对Web
应用的开源自动化测试工具,通过编写模拟用户操作的脚本,它会打开浏览器Web应用进行黑盒测试。可以方便的用于功能测试、兼容性测试、 稳定性测试及并发测试。目前已被主流浏览器厂商广泛支持,同时也是很多其它自动化测试工具(比如,RobotFramework
)的底层核心技术。