第三章 将 selenium集成到scrapy中
来源:互联网 发布:北京网络口碑营销公司 编辑:程序博客网 时间:2024/06/05 18:45
1.这里是jobbole的spider中的代码
class JobboleSpider(scrapy.Spider): name = "jobbole" allowed_domains = ["python.jobbole.com"] start_urls = ['http://python.jobbole.com/all-posts/'] # 自定义设置 custom_settings = { "DOWNLOAD_DELAY": 2, } def __init__(self): # 通过selenium启动一个chrome浏览器 # 将webdriver放到spider中可以达到更好的并发效果,也可以在爬虫结束时关闭 Chrome self.brower = webdriver.Chrome(executable_path=r"C:\scrapy\resource\chromedriver.exe") super(JobboleSpider, self).__init__() dispatcher.connect(self.close_brower, signals.spider_closed) def close_brower(self): # 当爬虫退出的时候关闭chrome print("spider_closed close_brower") self.brower.quit()
class JsPageMiddleware(object): """ selenium模拟浏览器抓取js动态网页 中间件 每次spider request的时候都会进入这里 """ def process_request(self, request, spider): if spider.name == "jobbole": # 注意: url=request.url spider.brower.get(url=request.url) import time time.sleep(3) print("访问:url={0}".format(request.url)) # 返回response downloder就不会再去执行 避免重发处理 注意: url=spider.brower.current_url return HtmlResponse(request=request, url=spider.brower.current_url, encoding="utf-8", body=spider.brower.page_source)
阅读全文
0 0
- 第三章 将 selenium集成到scrapy中
- selenium与selenium在scrapy中的集成
- selenium与selenium在scrapy中的集成
- scrapy selenium第三方库使用
- scrapy 将item存到mysql中(pymysql)
- 将Resin集成到IIS中
- 将Resin集成到IIS中
- 将g++编译器集成到VC2005中
- 将Quartz.NET集成到 Castle中
- 将Quartz.NET集成到 Castle中
- 将red5集成到Tomcat服务器中
- 将标签集成到后台编辑器中
- 将Quartz.NET集成到 Castle中
- 将LCDS31集成到Coldfusion901中
- 将Quartz.NET集成到 Castle中
- 将g++编译器集成到VC2005中
- 将GPIUmage集成到项目中
- 第2.3章 scrapy之selenium
- Java线程池架构原理和源码解析(ThreadPoolExecutor)
- 快速学会pandas中Dataframe索引.ix,.iloc,.loc的使用以及区别
- 算法:零件分配(LIS)
- The kth great number(优先队列)
- Web前端分析测试和性能提升
- 第三章 将 selenium集成到scrapy中
- MyBatis 笔记(五)——动态 SQL
- MySQL中InnoDB引擎--特点
- Linux进程入门学习(七)-信号通信
- JAVASE基础(十五)
- 【二叉树,这题太好玩了】226. Invert Binary Tree
- idea rest client 文件上传
- ChatGirl 一个基于 TensorFlow Seq2Seq 模型的聊天机器人[中文文档]
- 牛客网(直通BAT面试算法班) Day1