编写网络抓取工具脚本以填写和发送远程站点上的表单

时间:2015-02-10 04:33:27

标签: php web-crawler

现在,在你拿出手电筒和铁路对抗垃圾邮件发送者之前,我将在这里解释我的意图。我写了一系列脚本,抓取某个网站的联系信息。这些联系人非常专注,很可能处于需要我提供的特定服务的位置。我计划发送给他们的消息是一次性的,写得非常有帮助和尊重。

现在已经说过,我很难找到有关如何编写可以进入网站,访问表单并发送它的PHP机器人的信息。我发现的一切都是关于停止" spambots",毫不奇怪。我并不担心重复收回或类似的事情。如果他们有这样的措施,我可以很好地跳过它们。

1 个答案:

答案 0 :(得分:1)

这个问题太宽泛了,所以我也要给你一个广泛的答案......

首先,您需要下载该页面。您可以使用cURL(或file_get_contents可能会使用)。

然后你需要用HTML解析器解析它。您可以使用与PHP捆绑在一起的DOMDocument但您可能会因为DOMDocument对HTML语法错误(或HTML5,就此而言)的页面不太宽容而感到窒息

然后你需要遍历DOM并查找表单本身,提取url和方法并发出请求。

然后,您可以使用cURL向该网址发送提交请求。

但是,对于动态页面(例如,角度和其他重度javascripted页面),这将失败。你最好使用像phantomjs这样的无头浏览器。