第三百五十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—chrome谷歌浏览器无界面运行、scrapy-splash、splinter
2017-08-26 05:27
1016 查看
第三百五十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—chrome谷歌浏览器无界面运行、scrapy-splash、 splinter
[b]1、chrome谷歌浏览器无界面运行[/b]
[b][b]chrome谷歌浏览器无界面运行,主要运行在Linux系统,windows系统下不支持[/b][/b]
[b][b][b][b][b]chrome谷歌浏览器无界面运行需要一个模块,pyvirtualdisplay模块[/b][/b][/b][/b][/b]
[b][b][b][b][b]需要先安装[b][b][b][b][b][b]pyvirtualdisplay模块[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b]Display(visible=0, size=(800, 600))设置浏览器,visible=0表示不显示界面,size=(800, 600)表示浏览器尺寸[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
注意:Linux系统下会出现错误
报错:easyprocess.EasyProcessCheckInstalledError: cmd=['Xvfb', '-help'] OSError=[Errno 2] No such file or directory
需要两个步骤解决
1.执行命令:sudo apt-get install xvfb 安装[b]xvfb软件[/b]
[b] 2.执行命令:pip install xvfbwrapper 安装[b][b]xvfbwrapper模块[/b][/b][/b]
以下只是提到一下,前面讲的selenium模块操作浏览器已经够用了
2、scrapy-splash,也是[b]scrapy获取动态网页的方案,这里就不介绍了,详情:https://github.com/scrapy-plugins/scrapy-splash[/b]
[b][b]3、splinter,是一个操作浏览器的模块 详情:https://github.com/cobrateam/splinter[/b][/b]
[b]1、chrome谷歌浏览器无界面运行[/b]
[b][b]chrome谷歌浏览器无界面运行,主要运行在Linux系统,windows系统下不支持[/b][/b]
[b][b][b][b][b]chrome谷歌浏览器无界面运行需要一个模块,pyvirtualdisplay模块[/b][/b][/b][/b][/b]
[b][b][b][b][b]需要先安装[b][b][b][b][b][b]pyvirtualdisplay模块[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b]Display(visible=0, size=(800, 600))设置浏览器,visible=0表示不显示界面,size=(800, 600)表示浏览器尺寸[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
# -*- coding: utf-8 -*- import scrapy from scrapy.http import Request,FormRequest from selenium import webdriver # 导入selenium模块来操作浏览器软件 from scrapy.xlib.pydispatch import dispatcher # 信号分发器 from scrapy import signals # 信号 class PachSpider(scrapy.Spider): #定义爬虫类,必须继承scrapy.Spider name = 'pach' #设置爬虫名称 allowed_domains = ['www.taobao.com'] #爬取域名 def __init__(self): #初始化 from pyvirtualdisplay import Display display = Display(visible=0, size=(800, 600)) display.start() self.browser = webdriver.Chrome(executable_path='H:/py/16/adc/adc/Firefox/chromedriver.exe') #创建谷歌浏览器对象 super(PachSpider, self).__init__() #设置可以获取上一级父类基类的,__init__方法里的对象封装值 dispatcher.connect(self.spider_closed, signals.spider_closed) #dispatcher.connect()信号分发器,第一个参数信号触发函数,第二个参数是触发信号,signals.spider_closed是爬虫结束信号 #运行到此处时,就会去中间件执行,RequestsChrometmiddware中间件了 def spider_closed(self, spider): #信号触发函数 print('爬虫结束 停止爬虫') self.browser.quit() #关闭浏览器 def start_requests(self): #起始url函数,会替换start_urls return [Request( url='https://www.taobao.com/', callback=self.parse )] def parse(self, response): title = response.css('title::text').extract() print(title)
注意:Linux系统下会出现错误
报错:easyprocess.EasyProcessCheckInstalledError: cmd=['Xvfb', '-help'] OSError=[Errno 2] No such file or directory
需要两个步骤解决
1.执行命令:sudo apt-get install xvfb 安装[b]xvfb软件[/b]
[b] 2.执行命令:pip install xvfbwrapper 安装[b][b]xvfbwrapper模块[/b][/b][/b]
以下只是提到一下,前面讲的selenium模块操作浏览器已经够用了
2、scrapy-splash,也是[b]scrapy获取动态网页的方案,这里就不介绍了,详情:https://github.com/scrapy-plugins/scrapy-splash[/b]
[b][b]3、splinter,是一个操作浏览器的模块 详情:https://github.com/cobrateam/splinter[/b][/b]
相关文章推荐
- 第三百五十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—将selenium操作谷歌浏览器集成到scrapy中
- 第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作、增、删、改、查
- 第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页
- 第三百四十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别
- 第三百五十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中
- 第三百三十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—深度优先与广度优先原理
- 第三百六十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索功能
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第4章 scrapy爬取知名技术文章网站(2)
- 第三百四十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—Requests请求和Response响应介绍
- 第三百六十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)scrapy写入数据到elasticsearch中
- 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
- 第三百四十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—编写spiders爬虫文件循环抓取内容—meta属性返回指定值给回调函数—Scrapy内置图片下载器
- 第三百七十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目
- 第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念
- 第三百六十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理
- 第三百五十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy的暂停与重启
- 第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式
- 第三百四十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过自定义中间件全局随机更换代理IP
- Python分布式爬虫打造搜索引擎Scrapy
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第2章 windows下搭建开发环境