如何抓取互联网搜索http代理?

时间:2013-11-30 13:15:48

标签: proxy network-programming web-crawler network-protocols http-proxy

我已经看到许多网站提供免费的http代理列表,例如this site,我想编写一个脚本来从互联网而不是从这些网站搜索http代理。

我搜索了很多,但找不到任何关于扫描网页http代理方法的论文或博客。

任何想法都将受到赞赏。

2 个答案:

答案 0 :(得分:0)

几个月前,我需要同样的东西,最后我放弃了通过谷歌搜索获取它们的想法,因为找到的代理已经过期/过期了。

我以另一种方式解决问题,现在我每小时左右得到~1K新代理(这对我来说已经足够了)。

作为我上一个项目(基于zeromq / mongo / php / casperjs的全功能抓取平台)的一部分,我构建了一个免费代理爬虫,我认为,它可以满足您的需求,但它针对特定的免费代理站点(在我的情况下15),使用简单的xpath / regex(在原始html上使用php / curl,在浏览器评估的html上使用casperjs),它提取代理列表,验证代理可用性并对它们进行地理处理以使它们可按区域,性能等进行过滤

我建议你这样做,首先确定有效的免费代理来源,然后根据需要随时搜索它们(大多数人每小时更新一次免费列表)。

希望有所帮助

答案 1 :(得分:0)

有些服务提供工作代理列表。我总是使用https://gimmeproxy.com专门为我的需要代理。

获取代理只是为了提出以下请求:

https://gimmeproxy.com/api/getProxy

您将获得所有代理数据的JSON响应,您可以在以后根据需要使用这些数据:

{
  "supportsHttps": true,
  "protocol": "socks5",
  "ip": "219.162.202.82",
  "port": "915",
  "get": true,
  "post": true,
  "cookies": true,
  "referer": true,
  "user-agent": true,
  "anonymityLevel": 1,
  "websites": {
    "example": true,
    "google": false,
    "amazon": true
  },
  "country": "BR",
  "tsChecked": 1517952910,
  "curl": "socks5://219.162.202.82:915",
  "ipPort": "219.162.202.82:915",
  "type": "socks5",
  "speed": 37.78,
  "otherProtocols": {}
}