Heim > Backend-Entwicklung > PHP-Tutorial > So crawlen Sie Baidu-Seiten und entsprechende Zeichenfolgen in PHP

So crawlen Sie Baidu-Seiten und entsprechende Zeichenfolgen in PHP

墨辰丷
Freigeben: 2023-03-31 16:24:01
Original
1562 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die PHP-Methode zum Erhalten von Baidu-Wörtern und Baidu-Snapshots vor. Er analysiert die Techniken von PHP zum Erfassen von Baidu-Seiten und zeigt Beispiele für die entsprechende Zeichenfolge an es kann darauf verweisen.

Das Beispiel in diesem Artikel beschreibt, wie man Baidu, Baidu-Hotwords und Baidu-Snapshots in PHP erhält. Die Details sind wie folgt:

Werden Sie in Baidu aufgenommen:

<?php
/*
抓取百度收录代码
*/
function baidu($s){
 $baidu="http://www.baidu.com/s?wd=site%3A".$s;
 $site=file_get_contents($baidu);
 //$site=iconv("gb2312", "UTF-8", $site);
 ereg("找到相关网页(.*)篇,", $site,$count);
 $count=str_replace("找到相关网页","",$count);
 $count=str_replace("篇,","",$count);
 $count=str_replace("约","",$count);
 $count=str_replace(",","",$count);
 return $count[0];
}
echo baidu(www.jb51.net);
 //获取脚本之家在百度中的收录数量
?>
Nach dem Login kopieren

Holen Sie sich Baidus heiße Worte

<?php 
/** 
* @return array 返回百度的热词数据(数组返回) 
*/ 
function getBaiduHotKeyWord()
{
$templateRss = file_get_contents(&#39;http://top.baidu.com/rss_xml.php?p=top10&#39;);
if (preg_match(&#39;/<table>(.*)<\/table>/is&#39;, $templateRss, $_description)) {
$templateRss = $_description [0];
$templateRss = str_replace("&", "&", $templateRss);
}
$templateRss = "<?xml version=1.0 encoding=GBK?>" . $templateRss;
$xml = @simplexml_load_String($templateRss);
foreach ($xml->tbody->tr as $temp) {
if (!empty ($temp->td->a)) {
$keyArray [] = trim(($temp->td->a));
}
}
return $keyArray;
}
print_r(getBaiduHotKeyWord());
Nach dem Login kopieren

Das habe ich online gefunden und wurde leicht modifiziert. Schreiben Sie den folgenden Code in die PHP-Datei
Baidu enthalten und Baidu-Snapshot-Zeit

<?php
 $domain = "//www.jb51.net/"; *欲查询的域名*/
 $site_url = &#39;http://www.baidu.com/s?wd=site%3A&#39;;
 $all = $site_url.$domain; /*域名所有收录的网址*/
 $today = $all.&#39;&lm=1&#39;; /*域名今日收录的网址*/
 $utf_pattern = "/找到相关结果数(.*)个/";
 $kz_pattern = "/<span class="g">(.*)</span>/"; /*用以匹配快照日期的字符串*/
 $times = "/d{4}-d{1,2}-d{1,2}/"; /*匹配快照日期的正则表达式,如:2011-8-4*/
 $s0 = @file_get_contents($all); /*将site:www.jb51.net的网页置入$s0字符串中*/
 $s1 = @file_get_contents($today);
 preg_match($utf_pattern,$s0,$all_num); /*匹配"找到相关结果数*个"*/
 preg_match($utf_pattern,$s1,$today_num);
 preg_match($kz_pattern,$s0,$temp);
 preg_match($times,$temp[0],$screenshot);
 if($all_num[1] == "")
  $all_num[1] = 0;
 if($today_num[1] == "")
  $today_num[1] = 0;
 if($screenshot[0] == "")
  $screenshot[0] = "暂无快照";
?>
<html>
 <head>
 <title>Test</title>
 </head>
<body>
 <table>
 <tr>
  <td>日期</td><td>百度收录</td><td>百度今日收录</td><td>百度快照日期</td>
 </tr>
 <tr>
  <td><?php echo date(&#39;m月d日G时&#39;);?> </td><td>
  <?php echo $all_num[1]; ?></td><td>
  <?php echo $today_num[1]; ?></td><td>
  <?php echo $screenshot[0]; ?></td>
 </tr>
 </table>
 <p>百度收录:<a href="<?php echo $all; ?>" target="_blank">
 <?php echo $all_num[1]; ?></a></p>
 <p>百度今日收录:<a href="<?php echo $today; ?>" target="_blank">
 <?php echo $today_num[1]; ?></a></p>
 <p>百度快照日期:<a href="<?php echo $all; ?>">
 <?php echo $screenshot[0]; ?></a></p>
</body>
</html>
Nach dem Login kopieren

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für das Studium aller hilfreich sein.

Verwandte Empfehlungen:

So implementieren Sie mehrdimensionales Array-Traversal und nicht festgelegtes Löschen in PHP

php Implementierung für Tipps zum Kopieren und Verschieben von Dateien

PHP-Methode zum Erfassen von Thunder VIP-Konten basierend auf der Sammlungsklasse Snoopy

Das obige ist der detaillierte Inhalt vonSo crawlen Sie Baidu-Seiten und entsprechende Zeichenfolgen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage