我需要做一件不尋常的事情。我需要讓我的網站轉到另一個網站,在某些輸入字段中填寫一些字詞,搜索結果並從其他網站獲取該搜索的結果。是否有辦法讓我的代碼在另一個站點上執行一些操作並返回結果?
有沒有辦法呢?
我需要做一件不尋常的事情。我需要讓我的網站轉到另一個網站,在某些輸入字段中填寫一些字詞,搜索結果並從其他網站獲取該搜索的結果。是否有辦法讓我的代碼在另一個站點上執行一些操作並返回結果?
有沒有辦法呢?
如果你需要自動化工具,那麼你必須編寫一個腳本。用PHP你可以使用cURL。使用cURL,您可以將數據發佈到表單中並根據需要獲取內容。對於東西
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
使用API
通常像這樣應該有你要去做的API:您可以〔實施例POST數據。
如果不是這種情況,請檢查以下選項並確保網站的所有者允許您執行您想要的操作(或者如果您造成過多的流量或者他不喜歡網頁,則可能會被阻止一般)
使用直接HTTP請求-scraping
Web表單基本上是一個以「建」一個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);
如果他們更改他們的網站,則可能會失敗,具體取決於他們所做的更改。您需要相應地更新您的程序。
其他網站是否有某種API? – Linkan
另一個網站應該有一個可用的API來實現你想要做的事情。 –
你在你的標籤* web-scraping *中提到這是你真正想要做什麼?如果是這樣,那裏有很多網絡抓取工具 - 只要搜索它。 – 0xDECAFBAD