urllib基础-利用网站结构爬取网页-百度搜索
Posted doitjust
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了urllib基础-利用网站结构爬取网页-百度搜索相关的知识,希望对你有一定的参考价值。
有的时候爬取网页,可以利用网站额结构特点爬取网页
在百度搜索框中输入搜索内容,单击搜索,浏览器会发送一个带有参数的url请求。尝试删除其中的一些参数,只剩下wd这个参数。发现wd是搜索内容。这样程序可以根据不同的wd值,请求不同的网页。
1 from urllib import request,parse
2
3 # 构造请求对象
4 def baidu(wd):
5 # 爬取的网页
6 base_url = ‘http://www.baidu.com/s?‘
7
8 qs = {
9 ‘wd‘ : wd
10 }
11
12 # 进行url编码
13 qs = parse.urlencode(qs) # wd=hello
14
15 # 构造请求对象
16 req = request.Request(base_url + qs)
17
18 # 发送请求
19 response = request.urlopen(req)
20
21 # 获取网页内容
22 html = response.read().decode(‘utf-8‘)
23
24 #打印网页
25 print(html)
26
27
28 if __name__ == "__main__":
29 while True:
30 wd=input(‘请输入要搜索的内容:‘)
31 if wd == ‘q‘: #输入 q 退出
32 break
33 baidu(wd) #下载网页
浏览器中发送请求的url中包含汉字是不能请求成功的,需要将汉字进行url编码。(可以在“站长工具”中在线编码解码)。
这里使用parse.urlencode()进行url编码。将编码之后的内容与原url进行拼接,形成完整的url。
以上是关于urllib基础-利用网站结构爬取网页-百度搜索的主要内容,如果未能解决你的问题,请参考以下文章
武汉企业网站设计武汉搜索引擎优化包括以下哪些内容武汉百度seo排名优化提高流量武汉百度代发帖包收录武汉网页设计模板和源代码多少钱