疏窗

  • 首页
  • 生活
  • Java
  • Python
  • Golang
  • 其他
  • 归档

  • 搜索
leetcode jdk 生活 nas nosql 数据库 线程 爬虫 中间件

scrapy学习记录(使用selenium调用浏览器)

发表于 2020-05-30 | 分类于 Python | 0 | 阅读次数 1436

项目开源地址(同步博客更新)

下载selenium

pip install selenium

下载驱动

屏幕截图1.png
帮助>关于google chrome >查看chrome版本
下载对应版本webdriver驱动 http://chromedriver.storage.googleapis.com/index.html

#middlewares.py
class ItestDownloaderMiddleware:
    @classmethod
    def from_crawler(cls, crawler):
        s = cls()
        crawler.signals.connect(s.spider_opened, signal=signals.spider_opened)
        return s

    def process_request(self, request, spider):

        spider.browser.get(request.url)
        for i in range(5):
            spider.browser.execute_script("window.scrollTo(0, document.body.scrollHeight);")
        return HtmlResponse(url=spider.browser.current_url, body=spider.browser.page_source, encoding='utf8',
                            request=request)

    def process_response(self, request, response, spider):

        return response

    def process_exception(self, request, exception, spider):

        pass

    def spider_opened(self, spider):
        spider.logger.info('Spider opened: %s' % spider.name)

#itest.py
  def __init__(self):
        chrome_options = webdriver.ChromeOptions()
        # chrome_options.add_argument('--headless')
        self.browser = webdriver.Chrome(chrome_options=chrome_options, executable_path='C:/dirver/chromedriver')
        super(itest, self).__init__()

    def closed(self, reason):
        self.browser.close()
打赏作者
疯子虾夫 微信支付

微信支付

疯子虾夫 支付宝

支付宝

  • 本文作者: 疯子虾夫
  • 本文链接: https://hefengwei.com/archives/1590821975
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 爬虫
scrapy学习记录(练手)
scrapy学习记录(使用pipeline进行数据持久化)
  • 文章目录
  • 站点概览
疯子虾夫

疯子虾夫

24 日志
5 分类
9 标签
RSS
Creative Commons
© 2025 疯子虾夫
由 Halo 强力驱动
|
主题 - NexT.Mist v5.1.4
赣ICP备2024026242号

粤公网安备 44010602005909号