【问题标题】:How to scrape webpage by setting a different location than that of localhost?如何通过设置与本地主机不同的位置来抓取网页?
【发布时间】:2015-09-08 15:01:20
【问题描述】:

我试图抓取 Bing 新闻。当我直接访问health news 时,我会收到专门针对美国游客的健康新闻。当我使用 Goutte 在 localhost 中访问它时,它会给出特定于印度(这是我的位置)的结果。有什么方法可以在抓取的同时获取美国的特定新闻吗?

我已经设置了用户代理以确保它不是问题:

$client = new Client();
$client->setHeader('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36');

我想不出任何其他可能导致此问题的差异。

【问题讨论】:

    标签: php bing goutte


    【解决方案1】:

    您没有提供详细信息,所以我可能错了,也许您只需要在请求中发送 cookie 即可。首先检查您的浏览器 cookie,看看这些值是否会影响网站,如果 cookie 是问题,您可以使用此代码(如果您使用 curl):

    //incoming cookies path
    curl_setopt( $ch, CURLOPT_COOKIEJAR, '');
    //your cookie file path 
    curl_setopt( $ch, CURLOPT_COOKIEFILE, '' );
    

    【讨论】:

      【解决方案2】:

      在 Bing URL 中传递 cc=US 参数以明确查找美国的新闻。

      https://www.bing.com/news/search?q=health+news&cc=US

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-06
        • 2019-06-16
        相关资源
        最近更新 更多