用 Python 撸了个隧道代理程序,拿来给爬虫用,求 star,求提 bug。

2020-02-27 09:51:19 +08:00
 nozer

是这样的,去年写爬虫,被 IP 问题困扰,于是就想写个程序来自动处理代理 IP 的问题。

具体来说思路是这样的:

  1. 提供一个 TCP 服务端,用来接受爬虫发出的请求。
  2. 维护一个代理池,池中存放可用的代理地址。
  3. 服务端接收到爬虫的请求后,从代理池中随机选择一个可用代理,然后进行请求转发。
  4. 代理服务器返回数据后,再将数据返回给爬虫。

后来我就撸了个隧道代理程序,这个程序自动从某些提供代理的网页上获取可用代理,验证可用后放入代理池。

昨天我又重新改造了下,实现了简单的插件机制,试了下其实效果还可以的。不过质量还是受限于代理池中代理的质量。

发上来一方面是想求几个 star。 另一方面是想看看别人的想法,有没有其他质量更高的获取代理的方案。

项目地址:

https://github.com/daoye/goudan

https://github.com/daoye/goudan_plugins

具体用法就是

  1. 启动 main.py ,然后默认会监听本地 0.0.0.0:1991,1992,1993,1994 端口,这四个端口分别对应 http,https,socks4,socks5 协议类型的代理。
  2. 在爬虫程序上设置代理地址为: http://ip:1991 或 sock5:ip:1994 ... 就可以了。
2197 次点击
所在节点    Python
22 条回复
nozer
2020-03-02 14:57:22 +08:00
@tunecccyyy 这个我也想过,但是目前没有太多精力,现在先解决有无的问题。 下一步会考虑这方面。
liangmishi
2020-04-04 14:51:51 +08:00
老哥,很久没更新了噢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/647941

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX