600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python搜索关键词自动提交_简单爬虫:调用百度接口 实现关键词搜索(python_003)...

python搜索关键词自动提交_简单爬虫:调用百度接口 实现关键词搜索(python_003)...

时间:2021-12-28 03:57:23

相关推荐

python搜索关键词自动提交_简单爬虫:调用百度接口 实现关键词搜索(python_003)...

需求:

如何用python代码实现百度搜索关键词的功能?

比如输入关键词:“python爬虫”,得到一个搜索结果的页面,并保存到本地。

这是经典的python爬虫教学案例之一,也是比较基础的python实现。今天主要通过python自带的urllib库实现。

实现的步骤有三:

第一步:实践。打开百度搜索,输入关键词搜索一下。

第二步:观察。查看链接,找到链接中的规律。

将链接复制出来,如下:

看到这么一长串是不是挺吓人的?!

其实越是复杂的东西越是纸老虎。通过观察,这个链接中关键信息只有划线的一小部分:

为什么这么说?

因为如果你把剩下的信息删除,再去搜索也能得到同样的搜索结果。换句话说,其他的信息可有可无。

其实仔细观察,你会发现这个链接中有很多“&”符号,&的作用就是将不同的字段连接起来,组成一串完整的url,这些字段就像一张表单的表头一样,有些是必须填的,比如"wd=..."这个字段,就是关键词的意思,“ie=utf-8"就是一个编码的字段,采用utf-8编码。

那怎么判断哪些是关键信息?哪些是可有可无的字段呢?

很简单,你把你认为不重要的字段删除后,如果还能够实现搜索,就说明这个字段是不重要的。

另外,你可能会疑惑,明明关键词输入的是“python爬虫”,为什么链接里面变成“wd=python%E7%88%AC%E8%99%AB”了呢,因为中文在搜索的时候被自动转换编码了。我们在写代码的时候也要注意,如果输入的关键词里有中文,则需要对关键词处理一下,可以通过urllib.request.quote( )处理。

第三步:编写代码

首先,导入urllib库中的request,

接着,设定关键词,因为关键词里面有中文,用quote( )方法进行转码;

然后,构造url,我们发现wd就是关键词的接口,所以url部分只要加上keyword关键词即可;

再然后,就可以阿通过Request( )封装成request请求,再通过urlopen( )提交给服务器,并返回响应结果。

最后,通过open( ),write( )方法将页面保存到本地,关闭文件。

需要特别注意的是:构造url的时候,是http,不是https。因为https是网络的安全协议模式,需要有证书才能返回响应,在没有证书的情况下是不会返回结果的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。