Home > php教程 > PHP开发 > body text

Use curl to create a simple Baidu search

高洛峰
Release: 2016-11-03 13:26:54
Original
1238 people have browsed it

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>百度搜索</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);


?>
Copy after login

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!!


Related labels:
source:php.cn
Statement of this Website
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
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template