引入python
今日详情web
1.案例分析:chrome
- 需求:爬取网易新闻的国内板块下的新闻数据浏览器
- 需求分析:当点击国内超链进入国内对应的页面时,会发现当前页面展现的新闻数据是被动态加载出来的,若是直接经过程序对url进行请求,是获取不到动态加载出的新闻数据的。则就须要咱们使用selenium实例化一个浏览器对象,在该对象中进行url的请求,获取动态加载的新闻数据。app
2.selenium在scrapy中使用的原理分析:框架
当引擎将国内板块url对应的请求提交给下载器后,下载器进行网页数据的下载,而后将下载到的页面数据,封装到response中,提交给引擎,引擎将response在转交给Spiders。Spiders接受到的response对象中存储的页面数据里是没有动态加载的新闻数据的。要想获取动态加载的新闻数据,则须要在下载中间件中对下载器提交给引擎的response响应对象进行拦截,切对其内部存储的页面数据进行篡改,修改为携带了动态加载出的新闻数据,而后将被篡改的response对象最终交给Spiders进行解析操做。dom
3.selenium在scrapy中的使用流程:scrapy
4.代码展现:ide
- 爬虫文件:网站
- 中间件文件:
- 配置文件: