selenium集成到scrapy中

  • A+
所属分类:Scrapy框架

在spider的文件中配置

引用信号

from scrapy.xlib.pydispatch import dispatcher

from scrapy import signals

def __init__(self):

    self.browser = webdriver.Chrome(executable_path='...')

    super().__init__(self)

    dispatcher.connect(self.spider_closed,signals.spider_closed)

爬虫退出的时候关闭chrome

def spider_closed(self,spider):

    print('spider closed)

在middlewares.py文件中新建类

from scrapy.http import HtmlResponse

class JSPageMiddleware(object):

    def process_request(self,request,spider):

       if spider.name =='jobbole':

          spider.browser.get(request.url)

          return HtmlResponse(url=spider.browser.current_url,body=spider.browser.page_sourse,

                                              encoding='utf-8',request=request)

  • 微信
  • 等你哟
  • weinxin
  • 微信公众号
  • mac软件资源等你来拿
  • weinxin
小羊同学

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: