学科分类
目录
网络爬虫

处理GET请求

GET请求一般用于向服务器获取数据,比如说,我们用百度搜索传智播客(URL是“https://www.baidu.com/s?wd=传智播客”),浏览器跳转的页面如图1所示。

img

图1 GET请求

此时,如果使用Fiddler查看HTTP请求,发现有个GET请求的格式如下:

https://www.baidu.com/s?wd=%E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2](https://www.baidu.com/s?wd=传智播客)

在这个请求中,“?”后面的字符串就包含了我们要查询的关键字“传智播客”。下面,我们尝试使用GET方式发送请求,具体代码如下:

import urllib.request
import urllib.parse
url = "http://www.baidu.com/s"
word = {"wd": "传智播客"}
word = urllib.parse.urlencode(word) #转换成url编码格式(字符串)
new_url = url + "?" + word
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"}
request = urllib.request.Request(new_url, headers = headers)
response = urllib.request.urlopen(request)
html = response.read().decode('UTF-8')
print(html)

运行程序,程序输出的结果和使用浏览器搜索网页 “https://www.baidu.com/s?wd=传智播客”的源代码是一模一样的,由此说明我们成功爬取了页面。

点击此处
隐藏目录