专栏名称: 编程派
Python程序员都在看的公众号,跟着编程派一起学习Python,看最新国外教程和资源!
目录
相关文章推荐
Python开发者  ·  从 3 ... ·  昨天  
Python开发者  ·  GitHub 第 10 ... ·  2 天前  
Python爱好者社区  ·  确认裁员了,很严重,所有人做好准备吧! ·  4 天前  
Python爱好者社区  ·  全球第二大成人网站,正在被打包出售。。。 ·  5 天前  
51好读  ›  专栏  ›  编程派

Python分布式动态页面爬虫研究

编程派  · 公众号  · Python  · 2017-05-04 11:38

正文

请到「今天看啥」查看全文


. PHANTOMJS )

  • dcap [ "phantomjs.page.settings.loadImages" ] = False

  • dcap [ "phantomjs.page.settings.resourceTimeout" ] = 10

  • driver = webdriver . PhantomJS ( "E:xx\xx\xx" , desired_capabilities = dcap )

  • driver . get ( request . url )

  • body = driver . page_source . encode ( 'utf8' )

  • url = driver . current_url

  • driver . quit ()

  • return HtmlResponse ( request . url , body = body )

  • 改完代码后,记得修改 settings 配置。但这个方法有个很大的问题---- 不能实现异步爬取。由于直接在下载中间件中请求网页,而 Scrapy 在这里却不是异步的,只能实现阻塞式的逐个网页下载。当然,如果不追求高并发的话,这也是个快速部署动态爬虫的方法。

    3.自定义 downloader downloader 是 Scrapy 发起 HTTP 请求的模块,这模块实现了异步请求,因此自定义 downloader 是最完美的实现。但是要编写一个自定义的 downloader 比较麻烦,必须按照 Twisted 的一些规范,所幸网上有一些开源的 downloader ,在这基础上改改就比较容易了。 这篇文章 详解了 downloader 的开发,非常不错!

    一些坑和心得

    1. 通过代码运行 Scrapy 是个很有用的方法,即通过 CrawlerProcess







    请到「今天看啥」查看全文