需要抓取需要设置“我同意”cookie的网站内容

时间:2013-02-12 21:44:47

标签: php javascript jquery cross-domain scrape

从我读过的所有内容来看,这似乎是不可能的。但这是我的情景:

我需要抓一张包含待售房屋信息的表格内容。该页面没有密码保护或任何内容,但您首先必须单击上一页上的“我同意”链接,以便设置cookie,表示您同意该内容可能不是100%准确。然后,您才会显示数据。使用php / jquery / javascript有什么方法可以实现这个目的吗?我知道你不能创建一个iframe,因为它是跨域的。我也无法访问其他网站。

感谢您的回答,因为我并不期待任何积极的事情。 :)非常感谢你能告诉我如何做到这一点。 :d

2 个答案:

答案 0 :(得分:3)

使用服务器端脚本(使用cURL的PHP)来抓取网站并返回所需的信息。确保使用代表“我同意”cookie的请求设置相应的HTTP标头。

样品:

<?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_COOKIE, 'I_Agree=1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$responseBody = curl_exec($ch);

curl_close($ch);

// Read the information you need from $responseBody and return it as response body

?>

现在,您可以通过调用上面的服务器端脚本来访问您网站上的信息。有关如何使用cURL的详细信息,请查看documentation

答案 1 :(得分:1)

CURL可以根据您设置的选项存储或调用文件中的Cookie。这是“cookiejar”的例子:

http://curl.haxx.se/libcurl/php/examples/cookiejar.html

查看CURLOPT_COOKIEJAR和CURLOPT_COOKIEFILE选项