urllib.request.Request对象封装请求
1.使用urllib爬取百度搜索html
2.urllib.request.Request对象封装请求
3.urllib发送get请求_中文传参问题4.urllib发送post请求获取html源代码5.获取动态页面html6.忽略SSL证书验证7.使用fake-useragent库伪装请求头8.urllib自定义opener对象设置代理IP9.爬虫cookie的使用10.保存与读取cookie11.使用urllib.error进行请求异常处理12.使用requests库发送get和post请求13.使用Request伪装User-Agent和IP地址14.requests设置超时时间/requests.Session自动保存cookie/verify忽略ssl证书15.re模块的正则表达式规则16.使用re的正则表达式提取腾讯体育新闻摘要17.BeautifulSoup4解析数据18.bs4.find_all()搜索文档树和css选择器提取解析后的html数据19.bs4解析并提取人民网新闻标题数据20.xpath解析数据21.谷歌浏览器的xpath插件安装22.使用re和lxml的xpath功能提取纵横中文网小说推荐榜前3页标题23.JSON数据24.使用jsonpath快速提取json的数据25.提取猫眼电影正在热映电影以及评分26.单线程与多线程爬虫一些服务器只允许普通浏览器的请求而不允许来自脚本的请求,可以使用urllib.request.Request对象封装请求头的信息(请求头需要以字典的形式封装),伪装成普通浏览器发送请求。
urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
headers字典的键值对会作为参数调用add_header()方法,详细见python官方文档:
https://docs.python.org/3.12/library/urllib.request.html
user-agent请求头信息查看方法
1. http://httpbin.org/get可以帮助开发者测试http响应和请求
2. 浏览器开发者工具查看
使用httpbin工具进行请求响应测试
未封装请求头
from urllib.request import Request, urlopen
# 请求地址
url = 'http://httpbin.org/get'
# 创建request对象
req = Request(url)
# 发送请求
resp = urlopen(req)
# 读取响应内容
print(resp.read().decode())
# 关闭连接
resp.close()
响应结果:
{
"args": {},
"headers": {
"Accept-Encoding": "identity",
"Host": "httpbin.org",
"User-Agent": "Python-urllib/3.12",
"X-Amzn-Trace-Id": "Root=1-66e2bac5-5ae0d2f95970fd2938a9976d"
},
"origin": "111.8.73.196",
"url": "http://httpbin.org/get"
}
封装请求头的user-agent信息
from urllib.request import Request, urlopen
# 请求地址
url = 'http://httpbin.org/get'
# 创建request对象
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36'
headers = {'user-agent': user_agent}
req = Request(url, headers=headers)
# 发送请求
resp = urlopen(req)
# 读取响应内容
print(resp.read().decode())
# 关闭连接
resp.close()
响应结果:
{
"args": {},
"headers": {
"Accept-Encoding": "identity",
"Host": "httpbin.org",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36",
"X-Amzn-Trace-Id": "Root=1-66e2c23c-20813ff66fbcba0e293b3ee0"
},
"origin": "111.8.73.196",
"url": "http://httpbin.org/get"
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?