我需要做一件非同寻常的事情。我需要让我的网站转到另一个网站,在一些输入字段上写一些单词,搜索结果并从另一个网站获取该搜索的结果。
有什么办法吗?
答案 0 :(得分:0)
如果您需要自动化工具,则必须编写脚本代码。使用PHP,您可以使用cURL。使用cURL,您可以将数据发布到表单中并根据需要获取内容。您可以发布以下数据:
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
答案 1 :(得分:0)
使用API
通常对于这样的内容,应该有一个API,用于您尝试做的事情。
如果不是这种情况,请检查以下选项并确保网站所有者允许您执行您想要执行的操作(如果您导致过多流量或者他不喜欢,您可能会被阻止网络抓取一般)
使用直接HTTP请求
网络表单基本上只是一种构建"的方式。对某个端点的HTTP请求。查看网站的HTML以了解如何创建请求:
如果他们更改了网站,这些值可能会发生变化,您的计划可能会失败。
您可以使用cURL或任何其他HTTP库来执行此操作。
使用模拟网络浏览器的库
我不想提供如何使用它的完整手册,因为链接页面上的文档非常好。但是从该页面中取得了一个例子:
use Acme\Client; // Make sure to create this class as described in the documentation
// make a real request to an external site
$client = new Client();
$crawler = $client->request('GET', 'https://github.com/login');
// select the form and fill in some values
$form = $crawler->selectButton('Log in')->form();
$form['login'] = 'symfonyfan';
$form['password'] = 'anypass';
// submit that form
$crawler = $client->submit($form);
如果他们更改了他们的网站,这也可能会失败,具体取决于他们所做的更改。您需要相应地更新您的程序。