网站权重怎么查,网站建设介绍的ppt,常州网站建设公司咨询,龙岗教育在线官网Python爬虫—requests模块简介
requests的作用与安装
作用#xff1a;发送网络请求#xff0c;返回响应数据
安装#xff1a;pip install requests
requests模块发送简单的get请求、获取响应
需求#xff1a;通过requests向百度首页发送请求#xff0c;获取百度首页的…Python爬虫—requests模块简介
requests的作用与安装
作用发送网络请求返回响应数据
安装pip install requests
requests模块发送简单的get请求、获取响应
需求通过requests向百度首页发送请求获取百度首页的数据
import requests# 目标url
url https://www.baidu.com# 向目标url发送get请求
response requests.get(url)# 打印响应内容
print(response.text)# 获取响应
res requests.get(url, headersheaders)
print(res)
print(type(res))# 获取请求的url, 响应的编码方式
print(res.url)
res.encoding utf-8# 获取响应内容会使用默认编码有时候会乱码 需要指定编码
print(res.encoding)
print(res.text)
print(res.content.decode(utf-8))# 获取请求状态码
print(res.status_code)# 获取响应对应的请求头
print(res.request.headers)# 获取相应的cookie
print(res.cookies)response的常用属性
response.text 响应体str类型response.encoding 从HTTP header中猜测的响应内容的编码方式response.content 响应体bytes类型response.status_code 响应状态码response.requests.headers 响应对应的请求头response.headers 响应头response.cookies 响应的cookie经过了set-cookie动作response.url 获取访问的urlresponse.json() 获取json数据得到内容为字典如果接口响应体的格式是json格式时response.ok
如果status_code小于200response.ok返回True。
如果status_code大于200response.ok返回False。
response.text和response.content的区别
response.text 类型str解码类型requests模块自动根据HTTP头部对响应的编码作出有根据的推测推测的文本编码如何修改编码方式response.encoding“gbk/UTF-8” response.content 类型bytes解码类型没有指定如何修改编码方式response.content.decode(‘utf-8’)
获取网页源码的通用方式
response.content.decode()
response.content.decode(utf-8)
response.textrequests下载图片
# 在百度首页搜索李小龙图片然后下载到本地
import requestsurl https://photocdn.sohu.com/20080725/Img258368622.jpg
res requests.get(url)
with open(李小龙.jpg, wb) as f:f.write(res.content)import requestsurl https://photocdn.sohu.com/20080725/Img258368622.jpg
# 请求
res requests.get(url)
# 写入
with open(李小龙.jpg, wb) as f:# 写入文件 注意必须二进制形式f.write(res.content)发送带header请求头的请求
import requestsheaders {User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
}url https://i3.sinaimg.cn/ent/m/c/2010-11-26/U3987P28T3D3159293F326DT20101126121845.jpg
# 请求
res requests.get(url, headersheaders)# 写入
with open(李小龙1.jpg, wb) as f:f.write(res.content)发送带参数的请求
GET请求
import requestsheaders {User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
}
kw {wd: 李小龙
}
url https://www.baidu.com/s?res requests.get(url, paramskw, headersheaders)
print(res.content.decode(utf-8))POST请求
import requestsheaders {User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
}
url https://ifanyi.iciba.com/index.php?ctransmfyclient6auth_userkey_web_new_fanyisignNyHAgRlbDg6%2BBbQIiKcntdRriqVIAJSQ%2BxmfU0q7dIE%3D
# post 携带表单数据
form_data {
from: zh,
to: en,
q: 我爱你中国
}# 发送post请求
res requests.post(url, dataform_data, headersheaders)
print(res.json())