如何用PHP制作一个机器人来登录网站并在网站上做一些事情

How to make a bot with PHP to log in and do stuff on a website

本文关键字:网站 登录 机器人 PHP 何用 一个      更新时间:2023-09-26

我想做的是制作一个机器人,使用我的帐户登录网站并自动完成一些工作(当然是合法的工作)。

例如,论坛中可能有一篇帖子,其中数千条评论被分隔成数百页。帖子只能由注册用户查看。我希望在那里找到一个特定用户的评论,我希望一个PHP机器人用我的帐户登录,逐一阅读每个评论页面,提取该特定用户的注释并显示给我。

这当然只是一个例子。我可以进行提取和解析,但我似乎无法真正让机器人登录并继续前进。我只是PHP的初学者,我尝试过以下方法:

  1. 使用我自己的表单将帖子数据传递到该网站的登录页面,但没有起作用,因为它一直在说无效的refer。

  2. 我手动登录,然后在一个新的选项卡中打开我的脚本,但它也不起作用,它要求机器人再次登录。

那么,你能给我一个如何做到这一点的想法吗?基本上,它需要进入登录页面,以某种方式输入用户名和密码,登录,进入特定页面,然后做一些事情。

顺便问一下,这也可以用JavaScript实现吗?

谢谢。

您需要php_curl进行身份验证,然后一旦获得会话,就可以进行提取。类似这样的东西:

$host = curl_init($url);
curl_setopt($host, CURLOPT_HTTPHEADER, array('Content-Type: application/xml', $additionalHeaders));
curl_setopt($host, CURLOPT_HEADER, 1);
curl_setopt($host, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($host, CURLOPT_TIMEOUT, 30);
curl_setopt($host, CURLOPT_POST, 1);
curl_setopt($host, CURLOPT_POSTFIELDS, $payloadName);
curl_setopt($host, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($host);
curl_close($host);