【百度云搜寻,搜各种材料:http://www.lqkweb.com】
【搜网盘,搜各种材料:http://www.swpan.cn】

1、chrome谷歌浏览器无界面运行

chrome谷歌浏览器无界面运行,次要运行在Linux零碎,windows零碎下不反对

chrome谷歌浏览器无界面运行须要一个模块,pyvirtualdisplay模块

须要先装置pyvirtualdisplay模块

Display(visible=0, size=(800, 600))设置浏览器,visible=0示意不显示界面,size=(800, 600)示意浏览器尺寸

# -*- coding: utf-8 -*-import scrapyfrom scrapy.http import Request,FormRequestfrom 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 装置xvfb软件

  2.执行命令:pip install xvfbwrapper 装置xvfbwrapper模块

以下只是提到一下,后面讲的selenium模块操作浏览器曾经够用了

2、scrapy-splash,也是scrapy获取动静网页的计划,这里就不介绍了,详情:https://github.com/scrapy-plu...

3、splinter,是一个操作浏览器的模块 详情:https://github.com/cobrateam/...