Scrapy使用随机IP代理插件Scrapy-Proxies

简介: 使用Scrapy_Proxies随机IP代理插件https://github.com/aivarsk/scrapy-proxies安装:pip install scrapy_proxies设置settings.

使用Scrapy_Proxies随机IP代理插件
https://github.com/aivarsk/scrapy-proxies


安装:

pip install scrapy_proxies

设置settings.py

# 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 list containing entries like
# http://host1:port
# http://username:password@host2:port
# http://host3:port
# 这是存放代理IP列表的位置
PROXY_LIST = '/path/to/proxy/list.txt'

#代理模式
# 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
PROXY_MODE = 0

#如果使用模式2,将下面解除注释:
#CUSTOM_PROXY = "http://host1:port"

使用方法:

  1. 将之前用Python爬到的代理IP列表存储到PROXY_LIST可以找到的位置;
  2. 几种PROXY_MODE里,可能0是最常用的;如果有哪个IP是特别稳定的话,应该使用2

最关键的还是维护一个高可用的IP代理池。

目录
相关文章
|
数据采集 JavaScript 前端开发
动态内容抓取指南:使用Scrapy-Selenium和代理实现滚动抓取
在传统的网络爬虫中,静态网页内容很容易抓取,但对于通过JavaScript加载的动态内容,通常需要借助浏览器进行模拟访问。Scrapy-Selenium是一款结合了Scrapy和Selenium功能的库,可以实现模拟浏览器行为,从而实现抓取动态内容的目的。
440 0
动态内容抓取指南:使用Scrapy-Selenium和代理实现滚动抓取
|
数据采集 Python
使用 asyncio 提升 Scrapy 爬虫框架的异步编程效能,并集成代理功能
异步编程在现代软件开发中扮演着越来越重要的角色,特别是在网络爬虫等需要处理大量 I/O 操作的场景中。本文将介绍 asyncio 这个强大的异步编程库,并探讨如何在 Scrapy 爬虫框架中充分利用 asyncio 提升爬虫的效率和灵活性。此外,还将介绍如何集成爬虫代理功能,进一步提高爬虫的效率和稳定性。
274 0
使用 asyncio 提升 Scrapy 爬虫框架的异步编程效能,并集成代理功能
Python之scrapy的post请求、日志和代理
Python之scrapy的post请求、日志和代理
Python之scrapy的post请求、日志和代理
|
数据采集 JSON API
新手教程 | Python Scrapy框架HTTP代理的配置与调试
做过python爬虫的都知道,HTTP代理的设置时要在发送请求前设置好,那HTTP代理的逻辑点在哪里呢?实际上,只需要在Scrapy 的项目结构中添加就好
新手教程 | Python Scrapy框架HTTP代理的配置与调试
|
Python
Requests 和 Scrapy 添加动态IP代理
Requests 和 Scrapy 添加动态IP代理
369 0
|
Python
Scrapy添加代理验证
Scrapy添加代理验证
146 0
|
数据采集 中间件 Python
Python爬虫:scrapy-splash的请求头和代理参数设置
Python爬虫:scrapy-splash的请求头和代理参数设置
581 0
|
数据采集 NoSQL Redis
Scrapy使用代理爬取网站
timg.jpg 前言 在我们平时使用爬虫程序采集数据时,往往会遇到,因采集速度过快导致的自己网络ip被目标网站封禁,这种封禁有时候是封几分钟,有时候是封一天,封的时间不等,但是这样会导致我们局域网内其他人也无法访问目标网站,最大的问题是我们无法进行数据采集。
1729 0
|
Web App开发 NoSQL Redis
Scrapy使用随机IP代理
第一步,先用不用代理的方式从西刺代理抓几个可用的IP,用Python的telnetlib库对其进行验证,将可用且速度够快的IP存入Redis和一个txt文件: import redis import telnetlib import urllib.
1703 0
|
Web App开发 Linux iOS开发
Scrapy随机切换用户代理User-Agent
使用fake-useragent:https://github.com/hellysmile/fake-useragent 这是一个可以随机切换访问头的插件 安装方法: pip install fake-useragent 使用方法: from fa...
1602 0