Home  >  Article  >  Backend Development  >  PHP uses curl to create a simple Baidu search

PHP uses curl to create a simple Baidu search

高洛峰
高洛峰Original
2016-12-23 15:36:511452browse

In the past few days, I have studied the curl library in php and made a simple Baidu search. First, enter the code

<div style="width:200px;height:100px;">
 <div>PHP uses curl to create a simple Baidu search</div>
 <form action="" method="get">
  <input type="text" name="key">
  <input type="submit" value="搜索">
 </form>
</div>
<?php
$k = &#39;&#39;;
$k = !empty($_GET[&#39;key&#39;])?$_GET[&#39;key&#39;]:&#39;&#39;;
session_start();
$_SESSION[&#39;key&#39;] = $k;
 
$curl = curl_init(); 
// 设置你需要抓取的URL 
 
for($i = 0;$i<2;$i++){
curl_setopt($curl, CURLOPT_URL, "http://www.baidu.com/s?wd={$_SESSION[&#39;key&#39;]}&pn={$i}"); 
// 设置header 
curl_setopt($curl, CURLOPT_HEADER, 1); 
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
// 运行cURL,请求网页 
$data = curl_exec($curl); 
 
$pre = &#39;/<h3 class="t"><a.*?href = "(.*?)".*?target="_blank".*?>(.*?)<\/a><\/h3>/s&#39;;
preg_match_all($pre,$data,$match);
 
foreach ($match[1] as $k => $v) {
?> 
<div style="font-size:20px;color:red;">
 <a href="<?php echo $v;?>" target="_blank"><?php echo strip_tags($match[2][$k]);?></a>
</div>
<?php
}
}
 
curl_close($curl);
 
 
?>

After analyzing the URLs in Baidu searches, I found a pattern

https://www.baidu. com/s?wd=Search keyword

But I found that after using the https protocol, I could not obtain the data on Baidu, so I changed it to http://www.baidu.com?wd=Search keyword!!

The rendering is as follows:

PHP uses curl to create a simple Baidu search

The above is the entire content of this article. I hope it will be helpful to everyone’s learning, and I also hope that everyone will visit the PHP Chinese website.

For more articles related to PHP using curl to create a simple Baidu search, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn