0

我正在尝试从一个流行的新闻网站上抓取评论,以便使用 curl 进行学术研究。它适用于评论少于 300 条的文章,但在那之后它就很困难了。

$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($handle);
curl_close($handle);
echo $html; //just to see what's been scraped

目前这个页面工作正常:http ://www.guardian.co.uk/commentisfree/2012/aug/22/letter-from-india-women-drink?commentpage=all#start-of-comments

但是这个只返回 36 条评论,尽管总共有 700 多条评论:http ://www.guardian.co.uk/commentisfree/2012/aug/21/everyones-talking-about-rape?commentpage=all#start-of -注释

为什么它在为拥有大量评论的文章而苦苦挣扎?

4

1 回答 1

2

您的评论页面已分页。每个页面包含不同的评论。您必须请求所有评论分页链接。

该参数page=x附加到不同页面的 url。

获取基本页面然后搜索具有页面参数的所有链接并依次请求每个链接可能会很好?

正如 Mike Christensen 指出的那样,如果您可以使用内置的功能 python 和 scrapy。您只需指定评论所在的元素,python 将为您抓取页面上的所有链接:)

于 2012-08-22T20:02:19.813 回答