使用requests库发送get和post请求
1.使用urllib爬取百度搜索html2.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.单线程与多线程爬虫requests库是python的第三方模块,是一个简单易用的HTTP库,它允许发送HTTP/1.1请求,无需手工添加查询字符串或编码。需要在cmd里使用pip install requests
或在anaconda prompt中使用conda install requests
命令安装。
可以在官网查看详细信息:https://cookbook.openai.com/,在cmd中输入pip show requests
能查看相关信息:
Name: requests
Version: 2.32.3
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
Author-email: me@kennethreitz.org
License: Apache-2.0
Location: C:\Users\89660\AppData\Local\Programs\Python\Python312\Lib\site-packages
Requires: certifi, charset-normalizer, idna, urllib3
Required-by:
requests和urllib
如果想要简单易用的库,并且不介意第三方库,那么requests是很好的选择。如果想要一个不需要安装任何额外库的解决方案,或是需要更细粒度的控制,那么urllib更为合适。
requests基本请求
resp = requests.get(url)
resp = requests.post(url)
resp = requests.put(url)
resp = requests.delete(url)
resp = requests.head(url)
resp = requests.options(url)
发送get请求
# 获取百度搜索“python爬虫”html源代码。使用urllib的方法详见2、3节。
# https://www.baidu.com/s?wd=python%E7%88%AC%E8%99%AB
import requests
from fake_useragent import UserAgent
# 请求地址
# requests.get无需手动添加查询字符串
url = 'http://baidu.com/s'
# get参数
params = {'wd': 'python爬虫'}
# 封装请求头
headers = {'User-Agent': UserAgent().safari}
# 发送请求
resp = requests.get(url, params=params, headers=headers)
# 打印响应文本内容
print(resp.text)
发送post请求
# 登录贝克街推理学院,获取html源代码,使用urllib的方法详见第4节
import requests
from fake_useragent import UserAgent
# 请求地址
url = 'https://www.tuilixy.net/member.php?mod=logging&action=login&loginsubmit=yes&handlekey=login&loginhash=LdZ89&inajax=1'
# 封装请求头
headers = {'User-Agent': UserAgent().safari}
# 封装post参数
data = {'referer: https': '// www.tuilixy.net /',
'username': '困在水里的鱼',
'password': 'Beikejie027'
}
# requests.post无需编码
# 发送请求
resp = requests.post(url, headers=headers, data=data)
# 打印响应结果的文本内容
print(resp.text)
响应结果
<?xml version="1.0" encoding="utf-8"?>
<root><![CDATA[<dt id="messagetext">
<p class="hm xs3 p15 xl1">欢迎您回来,助理 困在水里的鱼,现在将转入登录前页面<script type="text/javascript" reload="1">if(typeof succeedhandle_login=='function') {succeedhandle_login('https://www.tuilixy.net/./?mobile=2', '欢迎您回来,助理 风行四季,现在将转入登录前页面', {'username':'风行四季','usergroup':'助理','uid':'86357','groupid':'11','syn':'0'});}</script></p>
<!--<p><a class="grey" href="https://www.tuilixy.net/./?mobile=2">点击此链接进行跳转</a></p>-->
<script type="text/javascript">
setTimeout(function() {
window.location.href = 'https://www.tuilixy.net/./?mobile=2';
}, '3000');
</script>
</dt>
]]></root>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?