scrapy集成selenium

news/2024/12/22 9:14:18/

前言

        

     使用scrapy默认下载器---》类似于requests模块发送请求,不能执行js,有的页面拿回来数据不完整

     想在scrapy中集成selenium,获取数据更完整,获取完后,自己组装成 Response对象,就会进爬虫解析,现在解析的是使用selenium拿回来的页面,数据更完整
 

 使用

集成selenium 因为有的页面,是执行完js后才渲染完,必须使用selenium去爬取数据才完
保证整个爬虫中,只有一个浏览器
只要爬取 下一页这种地址,使用selenium,爬取详情,继续使用原来的

第一步:在爬虫类中写

from selenium import webdriver
class CnblogsSpider(scrapy.Spider):bro = webdriver.Chrome(executable_path='./chromedriver.exe')bro.implicitly_wait(10)def close(spider, reason):spider.bro.close() #浏览器关掉

第二步:在中间件中

 def process_request(self, request, spider):# 爬取下一页这种地址---》用selenium,但是文章详情,就用原来的if 'sitehome/p' in request.url:spider.bro.get(request.url)from scrapy.http.response.html import HtmlResponseresponse = HtmlResponse(url=request.url, body=bytes(spider.bro.page_source, encoding='utf-8'))return responseelse:return None


http://www.ppmy.cn/news/886984.html

相关文章

进程间通信之匿名管道

进程间通信—管道 一、进程间通信介绍二、管道1.匿名管道1.1父进程和一个子进程之间的通信1.2父进程和多个子进程之间的通信 一、进程间通信介绍 1.进程间为什么要进行通信? 进程间通信的是为了协调不同的进程,使之能在一个操作系统里同时运行&#xff…

移动web端页面如何调用手机QQ?

文章目录 手机web页面调用手机QQ实现在线聊天的效果方法一:html代码如下:js代码如下: 方法二:代码如下: 效果图截图如下: 统计表1 - 浏览器默认拦截统计表2 - 设备端与协议类型 手机web页面调用手机QQ实现在…

手机web端唤醒qq客户端以及电脑web端唤醒qq客户端

1 电脑网页唤醒qq客户端 http://shang.qq.com/v3/widget.html 先在qq推广申请下,几分钟就弄好了,不然会有提示 <a target"_blank" href"http://wpa.qq.com/msgrd?v3&uin您的qq号码&siteqq&menuyes"><img border"0" src&…

手机QQ视频图像是反的——解决办法

这个问题也困扰我许久了&#xff0c;总不至于再重新安装吧&#xff0c;那么信息可能就丢失了&#xff0c;对着屏幕琢磨了半天终于发现解决这个问题的方法了。 QQ视频时&#xff0c;点击手机左下角的的[三]功能键&#xff08;我的小米2&#xff09;&#xff0c;即出现【旋转自己…

java手机qq表白代码_史上最感动表白QQ留言代码

[M][B][fts6][ffg,#0072BC,#000000]★.[/ft][/ft][/B] [ftc#232323]━━━━━━━━━━[B][ftc#0072BC][fts4]&#xff0a;[/ft][/B][ftc#232323]━━ [M][ftc#EE1000][ftfWebdings]Y[/ft][/ft] [M][ftc#ED008C][/ft][/M] [ftcFFF100][ftcF7941D]╔[/ft][/ft][ftc17BCB4][ftc…

android qq接口,手机QQ Scheme接口

QQ群组 mqqapi://card/show_pslcard?src_typeinternal&version1&card_typegroup&uin{QQ群号} QQ联系人 mqqapi://card/show_pslcard?src_typeinternal&version1&uin{QQ号码} 分享接口 window.parent.frames.location.href "mqqapi://share/to_fri?…

火山引擎徐广治:边缘云,下一代云计算

6月30日&#xff0c;2023稀土开发者大会在北京举办。大会以「代码不止&#xff0c;掘金不停」为主题&#xff0c;与上百位海内外技术专家一起剖析行业最新动态&#xff0c;为一直在路上的技术开发者们&#xff0c;拓宽技术视野&#xff0c;传播前沿的技术理念。火山引擎边缘云资…

DBeaver设置主题

一、下载包 帮助-》Install new software Eclipse Update Site 勾选一直下一步&#xff0c;直到安装完&#xff0c;会提示重启&#xff0c;重启设置主题即可 二、设置主题 窗口-》首选项-》DevStyle