014-活该你爬虫被封之Scrapy Ip代理中间件

栏目: 编程工具 · 发布时间: 7年前

内容简介:这是坚持技术写作计划(含翻译)的第14篇,定个小目标999,每周最少2篇。背景: 房租到期了。需求: 找到便宜,交通便利的房源,了解当前租房行情,便于砍价。

这是坚持技术写作计划(含翻译)的第14篇,定个小目标999,每周最少2篇。

背景: 房租到期了。

需求: 找到便宜,交通便利的房源,了解当前租房行情,便于砍价。

在爬取58,赶集,链家,安居客的数据时,被封是常事,基于此,fork并修改了两个库。用于抓取免费代理ip,用于支持爬取租房数据。

注意:租房网站的数据,大概率失真,仅做参考。

其中部分数据截图

014-活该你爬虫被封之Scrapy Ip代理中间件

本文只介绍Scrapy的ip代理中间件,不多讲如何爬取租房网站数据以及数据分析,后边可能会写。

获取代理ip

如果有付费的代理ip更好,如果没有的话,可以用我构建的 docker 镜像

docker run -p8765:8765 -d anjia0532/ipproxy-dockerfile

稍等2-5分钟,访问 http://${docker ip}:8765/ ,如果有值,则抓取代理ip成功。

scrapy-proxies-tool

安装

pip install scrapy-proxies-tool

配置

修改 Scrapy settings.py,源 repo 只支持从文件读取代理ip

# Retry many times since proxies often fail
RETRY_TIMES = 10
# Retry on most error codes since proxies fail for different reasons
RETRY_HTTP_CODES = [500, 503, 504, 400, 403, 404, 408]

DOWNLOADER_MIDDLEWARES = {
  'scrapy.downloadermiddlewares.retry.RetryMiddleware': 90,
  'scrapy_proxies.RandomProxy': 100,
  'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 110,
}

PROXY_SETTINGS = {
  # Proxy list containing entries like
  # http://host1:port
  # http://username:password@host2:port
  # http://host3:port
  # ...
  # if PROXY_SETTINGS[from_proxies_server] = True , proxy_list is server address (ref https://github.com/qiyeboy/IPProxyPool and https://github.com/awolfly9/IPProxyTool )
  # Only support http(ref https://github.com/qiyeboy/IPProxyPool#%E5%8F%82%E6%95%B0)
  # list : ['http://localhost:8765?protocol=0'],
  'list':['/path/to/proxy/list.txt'],

  # disable proxy settings and  use real ip when all proxies are unusable
  'use_real_when_empty':False,
  'from_proxies_server':False,

  # If proxy mode is 2 uncomment this sentence :
  # 'custom_proxy': "http://host1:port",

  # Proxy mode
  # 0 = Every requests have different proxy
  # 1 = Take only one proxy from the list and assign it to every requests
  # 2 = Put a custom proxy to use in the settings
  'mode':0
}

可以通过爬取 http://myip.ipip.net/ 来判断代理ip是否生效。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Reality Is Broken

Reality Is Broken

Jane McGonigal / Penguin Press HC, The / 2011-1-20 / USD 26.95

Visionary game designer Jane McGonigal reveals how we can harness the power of games to solve real-world problems and boost global happiness. More than 174 million Americans are gamers, and......一起来看看 《Reality Is Broken》 这本书的介绍吧!

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具