# proxycrawl **Repository Path**: qinbo28/proxycrawl ## Basic Information - **Project Name**: proxycrawl - **Description**: 免费代理爬虫 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-15 - **Last Updated**: 2021-10-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Proxy Crawler ## 简介 一个爬取免费代理网站的爬虫,使用Apschuduler调度器,每隔四分钟或者数据库中的代理数目小于配置文件中的数目时就会爬取配置文件中选定的免费代理网站,爬取结束后会对代理进行验证。使用flask定义接口。 目前添加的免费代理网站: - 89免费代理 - 米扑代理 - 代理66 - 云代理 - 小幻代理 - 免费代理库 - 西拉代理 ## 配置文件 ``` json { "VERSITON": "0.0.1", // 设置和flask接口服务相关的信息 "SERVER": { // 服务地址 "HOST": "0.0.0.0", // 服务端口 "PORT": 5055 }, // 设置代理检测 "CHECKER": { // http检测网站url "HTTP_URL": "http://httpbin.org", // https检测网站url "HTTPS_URL": "https://www.qq.com", // 检测延迟时间 "VERIFY_TIMEOUT": 10, // 最大检测失败次数,超过此次数将会删除被检测代理 "MAX_FAIL_COUNT": 0, // 最小代理池大小,低于此值调度器会自动启动代理爬虫 "POOL_SIZE_MIN": 20 }, // 数据库设置,目前只支持Redis数据库 "DATABASE": { // Redis数据库URI "URI": "redis://127.0.0.1:6379/0", // 数据表名称 "TABLE_NAME": "proxies" }, // 代理爬虫 "FETCHER": { // 代理爬虫具体实现方法,一个方法对应一个网站,只会爬取下面列出的网站。 "PROXY_FETCHERS": [ "free_proxy01", "free_proxy02", "free_proxy03", "free_proxy04", "free_proxy05", "free_proxy06", "free_proxy07" ] }, // 最小代理池大小,低于此值调度器会自动启动代理爬虫 "POLL_SIZE_MIN": 20, // 时区设置 "TIMEZONE": "Asia/Shanghai" } ``` ## API定义 |url| params| description| |--|--|--| |/|None|返回接口帮助信息| |/get|type:https|获取一个代理(IP:PORT)| |/pop|None|获取并且删除一个代理(IP:port)| |/delete|proxy: e.g.127.0.0.1:8080|删除一个代理| |/all|type:https|获取所有代理| |/count|None|返回代理的数量|