爬取百度主页测试。
使用 urllib.request.urlopen(url) 不能定制请求头
使用 urllib.request.Request(url, headers, data) 可以定制请求头
使用Handler 可定制更高级的请求头,如动态cookie和代理
基本代码如:
# _*_ coding: utf-8 _*_
# @Time : 2021/12/2 12:46
# @Author : Ritchie
# @Project : PyCode
import urllib.request
url =‘http://www.baidu.com’
headers = {
‘user-agent’:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36’
}
request = urllib.request.Request(url=url, headers=headers)
# 1,获取Handler对象
handler = urllib.request.HTTPHandler()
# 2,获取opener对象
opener = urllib.request.build_opener(handler)
# 2, 调用open方法
response = opener.open(request)
content = response.read().decode(‘utf-8’)
print(content)