我想在不使用api的情况下获得bing结果,我希望使用php直接从bing页面获取它们。我不知道怎么做。
答案 0 :(得分:0)
您可以使用http请求并将结果削减以获得所需内容 你可以使用正则表达式
示例:
$ results = file_get_contents(“http://www.bing.com/search?q=regular+expressions”);
您将找到该页面的所有HTML内容,就像您点击“查看页面来源”
时所看到的那样然后在其上应用正则表达式以提取结果
答案 1 :(得分: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);
答案 2 :(得分:0)
只需使用simple_html_dom并进行简单的解析即可。要获得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>';
}