Skip to main content

标签: scrapy

Scrapy Spider分享

代码片段如下:class MySpider(BaseSpider):     name = 'myspider'     start_urls = (         'http://example.com/page1',         'http://example.com/page2',         )     def parse(self, response):         # collect `item_urls`         for item_url in...[…]

Read More

scrapy setuptools 如何处理静态文件的打包

这里主要是因为涉及到了scrapyd的一个客户端的工具scrapyd-client,很容易的就可以帮助我们去部署一个scrapy项目此次遇到的问题是,我的项目中需要用到一个静态的文件,但是默认的打包方式,并没有帮我把静态文件打包到egg里面去,经过查询,是因为默认的配置文件并没有做相关的配置,于是修改了配置文件加入了下面的代码:package_data = {     '': ['*.txt'], },zip_safe=False,整个setup.py文件看起来的话就是这样的:from...[…]

Read More

scrapy 1.0.3版本 Selenium Phantomjs Downloader Middleware

一直想找的这个东西Middleware,找了很久,有的是一个过期的,有的是要弹出什么框的,这里给scrapy最新版本的解决方案。此方案排除了几个问题:Message: 'Can not connect to GhostDriver'对于此问题像下面这样操作就好了:driver = webdriver.PhantomJS(port=port,                              desired_capabilities={                            ...[…]

Read More

scrapy递归抓取网页数据

在使用scrapy抓取网页的数据的过程中,我们会遇到一个问题就是,如何来抓取分页,有时候又不能一下子把所有的分页都获取过来。这里的解决问题的思路是,获取每个当前抓取页面的下一页链接,并将链接加入要抓取的url列表中,如下是实例代码 def parse(self, response):         items = []         validurls = []         newurls = response.xpath(            ...[…]

Read More

scrapy 防止网站限制IP

根据scrapy官方文档:http://doc.scrapy.org/en/master/topics/practices.html#avoiding-getting-banned里面的描述,要防止scrapy被ban,主要有以下几个策略。1,动态设置user agent2,禁用cookies3,设置延迟下载4,使用Google cache5,使用IP地址池(Tor project、VPN和代理IP)6,使用Crawlera由于Google...[…]

Read More