使用php的curl根据关键词爬取百度搜索结果页

我想实现的是每次根据给出的关键词搜索百度结果页

其中php抓取代码如下:

<?php

$url = "http://www.baidu.com/s?wd=生命动力";

// 构造包头,模拟浏览器请求

$header = array (

"Host:www.baidu.com",

"Content-Type:application/x-www-form-urlencoded",//post请求

"Connection: keep-alive",

‘Referer:http://www.baidu.com‘,

‘User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; BIDUBrowser 2.6)‘

);

$ch = curl_init ();

curl_setopt ( $ch, CURLOPT_URL, $url );

curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );

curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );

// 执行

$content = curl_exec ( $ch );

if ($content == FALSE) {

echo "error:" . curl_error ( $ch );

}

// 关闭

curl_close ( $ch );

//输出结果

echo $content;

?>

可是每次爬取结果都是无法爬取到百度推广的内容

原因如下:

你的user-agent没有模拟好,所以不行。其实根本不需要用post,直接用get就可以了。

修改如下:

$url = "http://www.baidu.com/s?wd=生命动力";

$header = array (

‘User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36‘

);

$ch = curl_init ();

curl_setopt ( $ch, CURLOPT_URL, $url );

curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );

curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );

// 执行

$content = curl_exec ( $ch );

if ($content == FALSE) {

echo "error:" . curl_error ( $ch );

}

// 关闭

curl_close ( $ch );

//输出结果

echo $content;

时间: 2024-12-29 09:14:19

使用php的curl根据关键词爬取百度搜索结果页的相关文章

python3 爬虫学习-根据关键词爬取百度百科内容

小白编了好久才写出来,记录一下免得之后再用的时候都忘了还得重新学~ 学习爬虫最开始是学习了慕课上的python课程,然后学习了慕课和网易云上的爬虫教程.这两个自己去查一下就好了~ 开始还比较费劲,毕竟熟悉需要时间么,而且python也不太熟悉. 关于python版本:我一开始看很多资料说python2比较好,因为很多库还不支持3,但是使用到现在为止觉得还是pythin3比较好用,因为编码什么的问题,觉得2还是没有3方便.而且在网上找到的2中的一些资料稍微改一下也还是可以用. 好了,开始说爬百度百

[PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索(二)

前情提要:最近使用PHP实现了简单的网盘搜索程序,并且关联了微信公众平台,名字是网盘小说.用户可以通过公众号输入关键字,公众号会返回相应的网盘下载地址.就是这么一个简单的功能,类似很多的网盘搜索类网站,我这个采集和搜索程序都是PHP实现的,全文和分词搜索部分使用到了开源软件xunsearch. 上一篇([PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索)中我重点介绍了怎样去获取一大批的百度网盘用户,这一篇介绍怎样获得指定网盘用户的分享列表.同样的原理,也是找到百度获取分享列表的接口,

Python3实现QQ机器人自动爬取百度文库的搜索结果并发送给好友(主要是爬虫)

一.效果如下: 二.运行环境: win10系统:python3:PyCharm 三.QQ机器人用的是qqbot模块 用pip安装命令是: pip install qqbot (前提需要有requests库) 实现自己的机器人:网上好几种写法,很简单,不过有时候环境不同会出现错误,下面是亲测可以运行的: from qqbot import QQBotSlot as qqbotslot, RunBot @qqbotslot def onQQMessage(bot, contact, member,

爬取百度热搜榜

1.打开网站:http://top.baidu.com/buzz?b=341&c=513&fr=topbuzz_b42 2.按Ctrl+u查看网页源代码 3.招到要爬取的数据 4. import requests from bs4 import BeautifulSoup import pandas as pd url = 'http://top.baidu.com/buzz?b=341&c=513&fr=topbuzz_b341_c513' headers = {'Use

爬取百度热搜榜前十

1.导入相应的库 2.找到要爬取的网站:http://top.baidu.com/buzz?b=341&c=513&fr=topbuzz_b341_c513 3.找到爬取的内容: 4.用for循环将需要的内容添加到空列表中,在使用DataFrame打印出热搜榜前十 import requests from bs4 import BeautifulSoup import bs4 import pandas as pd url = 'http://top.baidu.com/buzz?b=34

Python爬虫实战二之爬取百度贴吧帖子

大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 前言 亲爱的们,教程比较旧了,百度贴吧页面可能改版,可能代码不好使,八成是正则表达式那儿匹配不到了,请更改一下正则,当然最主要的还是帮助大家理解思路. 2016/12/2 本篇目标 1.对百度贴吧的任意帖子进行抓取 2.指定是否只抓取楼主发帖内容 3.将抓取到的内容分析并保存到文件 1.URL格式的确定 首先,我们先观察一下百度贴吧的任意一个帖子. 比如:ht

第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息

第三百三十四节,web爬虫讲解2-Scrapy框架爬虫-Scrapy爬取百度新闻,爬取Ajax动态生成的信息 crapy爬取百度新闻,爬取Ajax动态生成的信息,抓取百度新闻首页的新闻标题和rul地址 有多网站,当你浏览器访问时看到的信息,在html源文件里却找不到,由得信息还是滚动条滚动到对应的位置后才显示信息,那么这种一般都是 js 的 Ajax 动态请求生成的信息 我们以百度新闻为列: 1.分析网站 首先我们浏览器打开百度新闻,在网页中间部分找一条新闻信息 然后查看源码,看看在源码里是否有

Python开发简单爬虫(二)---爬取百度百科页面数据

一.开发爬虫的步骤 1.确定目标抓取策略: 打开目标页面,通过右键审查元素确定网页的url格式.数据格式.和网页编码形式. ①先看url的格式, F12观察一下链接的形式;② 再看目标文本信息的标签格式, 比如文本数据为div class="xxx", ③ 容易看到编码为utf-8 2.分析目标 目标: 百度百科python词条 入口页: http://baike.baidu.com/item/Python词条页面url格式:/item/**** 数据格式: 标题: <dd cl

python爬取百度搜索图片

在之前通过爬取贴吧图片有了一点经验,先根据之前经验再次爬取百度搜索界面图片 废话不说,先上代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/7/22 10:44 # @Author : wqj # @Contact : [email protected] # @Site : # @File : test.py # @Software: PyCharm Community Edition import requests