例如,我希望挖掘https://stackoverflow.com/privileges/user/3并获取div <div class="summarycount al">6,525</div>
中的数据,以便我可以将声誉与用户数一起添加到本地数据库。我想我可以使用file_get_contents
$data = file_get_contents('https://stackoverflow.com/privileges/user/3');
如何提取所需数据,即上例中的6,525?
答案 0 :(得分:2)
您需要登录(通过PHP)才能查看相关信息。这不是很简单,需要一些工作。
您可以使用* shrugs * regex来解析数据,或使用像PHP Simple HTML DOM Parser这样的XML解析器。使用正则表达式...:
preg_match('!<div class="summarycount al">(.+?)</div>!', $contents, $matches);
$rep = $matches[1];
如果您正在搜索SO,则可以使用SO API。
代码:
$url = 'http://api.stackoverflow.com/1.0/users/3';
$tuCurl = curl_init();
curl_setopt($tuCurl, CURLOPT_URL, $url);
curl_setopt($tuCurl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($tuCurl, CURLOPT_ENCODING, 'gzip');
$data = curl_exec($tuCurl);
$parse = json_decode($data, true);
$rep = $parse['users'][0]['reputation'];
echo $rep;