Skip to content

gavin66/proxy_list

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

很多网站对爬虫都会有 IP 访问频率的限制。如果你的爬虫只用一个 IP 来爬取,那就只能设置爬取间隔,来避免被网站屏蔽。但是这样爬虫的效率会大大下降,这个时候就需要使用代理 IP 来爬取数据。一个 IP 被屏蔽了,换一个 IP 继续爬取。此项目就是提供给你免费代理的。

需要免费代理的可以试试,如果对您有帮助,希望给个 Star ⭐,谢谢!😁😘🎁🎉

Github 项目地址 gavin66 / proxy_list

特性

  • 爬取、验证、存储、Web API 多进程分工合作。

  • 验证代理有效性时使用协程来减少网络 IO 的等待时间。

  • 按照代理连接速度排序并持久化(目前使用 Redis)爬取下来的代理。

  • 提供 Web API,随时提取与删除代理。

使用

使用 Python3.6 开发的项目,没有对其他版本 Python 测试

代理的存储使用 Redis,所以你必须确保本机已安装它。

克隆源码

git clone git@github.com:gavin66/proxy_list.git

安装依赖

推荐使用 virtualenv 来构建环境,防止冲突

pip install -r requirements.txt

运行脚本

python run.py

配置

配置项都在 config 配置文件中,以下项可按你的需求修改

# 持久化
# 目前只支持 redis
# 这里只能修改你的 redis 连接字符串
PERSISTENCE = {
    'type': 'redis',
    'url': 'redis://127.0.0.1:6379/1'
}

# 协程并发数
# 爬取下来的代理测试可用性时使用,减少网络 io 的等待时间
COROUTINE_NUM = 50

# 保存多少条代理
# 默认200,如果存储了200条代理并不删除代理就不会再爬取新代理
PROXY_STORE_NUM = 300

# 如果保存的代理条数已到阀值,爬取进程睡眠秒数
# 默认60秒,存储满200条后爬虫进程睡眠60秒,醒来后如果还是满额继续睡眠
PROXY_FULL_SLEEP_SEC = 60

# 已保存的代理每隔多少秒检测一遍可用性
PROXY_STORE_CHECK_SEC = 1200

# web api
# 指定接口 IP 和端口
WEB_API_IP = '127.0.0.1'
WEB_API_PORT = '8111'

Web API

查看文档

直接获取一个速度最快的代理

获取 https 的匿名代理,取前5个速度最快的

3

About

爬取免费可用代理,供爬虫等工具使用

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages