我想在没有 api 的情况下获得 bing 结果,我想使用 php 直接从 bing 页面获取它们。我不知道该怎么做。
问问题
873 次
3 回答
0
查看此脚本:http ://www.fromzerotoseo.com/scraping-bing-serp/
特别是抓取链接的正则表达式搜索:
preg_match_all(
'(<div class="sb_tlst">.*<h3>.*<a href="(.*)".*>(.*)</a>.*</h3>.*</div>)siU',
$result['EXE'], $matches);
于 2013-11-06T22:32:40.377 回答
0
您可以使用 http 请求并解析结果以获得您想要的内容 您可以使用正则表达式
例子:
$results = file_get_contents(" http://www.bing.com/search?q=regular+expressions ");
你会发现页面的所有 HTML 内容,就像你点击“查看页面源代码”时看到的那样
然后对其应用正则表达式以提取结果
于 2013-06-27T20:57:28.960 回答
0
只需使用 simple_html_dom 并进行简单的解析。要获得# of bing 结果,您必须找到一个名为“sb_count”的特定类。如果您需要链接,请通过“b_attribution”更改类以获取所有链接。您可以通过使用 foreach 遍历结果页面来执行查询,如下所示:
include_once 'simple_html_dom.php';
header('Content-Type: text/html; charset=ISO-8859-2');
$html = new simple_html_dom();
$param = 'Your query';
$html -> load_file('https://www.bing.com/search?q=' . $param . '&go=Submit&qs=n&form=QBLH&pq=' . $param . '&sc=8-6&sp=-1&sk=&ghc=1&cvid=e3777d60b1f04c90a3d8f08903433c7a');
foreach ( $html->find('.sb_count') as $post){
echo '<p>' . $post . '</p>';
}
于 2015-11-04T11:52:33.760 回答