0

我想在没有 api 的情况下获得 bing 结果,我想使用 php 直接从 bing 页面获取它们。我不知道该怎么做。

4

3 回答 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 回答