我已经创建了一个Web抓取工具,该抓取工具可以从网页中抓取信息并填充永久运行的API帖子的参数,或使该帖子永久运行(有数以万计的网页需要抓取,每个请求大约需要1秒钟的时间才能阻止请求过多,或429错误)。
我想通过将代码外包给其他IP地址来简化流程。如果我从我的IP运行更多请求,则该站点可能会开始阻止这些请求。目标是使该代码的4或5个实例永久运行。
我知道唯一可行的解决方案是使用VM运行其他代码实例,但是我想有更简单的方法可以实现这一目标。
答案 0 :(得分:2)
“外包”是错误的词。
您想要“远程执行”或某种distributed computing,甚至可能是remote procedure calls。
您可以使用JSONRPC。或HTTP上方的RPC/XDR或XML-RPC或CORBA或SOAP或REST。您会发现github gitlab(在sourceforge,Linux distribution,free software,您喜欢的libraries等上)帮助您(甚至libssh)。您甚至可以找到用于Web抓取的分布式库。
您甚至可以更一般地执行一些message passing(考虑0mq)或进行一些MapReduce。您可能希望在text-based protocol之上使用一些Berkeley sockets(因为它们更易于调试,例如基于JSON的调试)。
如果在Linux上,请先依次阅读ALP,syscalls(2),socket(7),socket(2)和相关内容,然后阅读tcp(7)。