在进行Facebook数据抓取的过程中,偶然发现了Proxyrack提供的住宅VPN服务。Proxyrack声称每天处理超过8亿次API请求,尽管公司缺乏详细信息,但其定价和功能使其成为一个值得探索的有吸引力的选择。
Proxyrack的开源代码示例可以在以下链接找到:
本演示尝试通过其REST API使用Proxy SDK,并检查返回公共IP的网站。
是一个免费供非商业用途使用的服务,易于集成,提供JSON、XML、CSV、Newline、PHP格式的数据。
在这个演示中,Proxycrack被用作一个软件组件,用于抓取指定Facebook帖子的所有评论。
演示是一个基于命令行的软件组件,创建的目的是展示使用C++(Visual Studio C++)和libCurl的Proxyrack SDK。
在这个演示中,想使用libCurl作为静态库。成功做到了这一点,静态库是源代码的一部分。发现这个答案很有用:
首先,初始化Curl对象:
尽管curl_easy_init()
函数必须是第一个调用的函数,但首先调用curl_global_init()
,它设置了libcurl需要的程序环境。
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
在这个演示中,使用API提供的旋转住宅IP地址之一,并同时使用第三方服务返回公共IP,以便可以看到IP是否确实发生了变化。
CURL* curl = curl_easy_init();
if(curl)
{
// General Proxy
curl_easy_setopt(curl, CURLOPT_PROXY, "http://mixed.rotating.proxyrack.net:444");
curl_easy_setopt(curl, CURLOPT_PROXYUSERNAME, L"");
curl_easy_setopt(curl, CURLOPT_PROXYPASSWORD, L"");
curl_easy_setopt(curl, CURLOPT_URL, "http://ip-api.com/json");
curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
在更复杂的情况下,需要在这一点上添加一些代码,以解释CURL请求返回的结果,并将其结构化(例如,作为.csv或.JSON)。在这种特定情况下,结果会显示在屏幕上。
WriteLogFile()
函数被用来代替wprintf()
,并负责在DEBUG版本中显示调试消息以及在DEBUG/RELEASE版本中写入日志文件。