爬虫基础-requests模块

爬虫基础-requests模块,第1张

爬虫基础-requests模块 requests发送请求
  • 导入模块:import requests
  • 基本格式:requests.xxx(url,headers,params...)
    • xxx是http的请求类型 -> get,put,post,delete…
  • 参数讲解:
    • url:需要发起请求的链接
    • headers:构建请求URL时的消息头,字典格式
    • params:添加请求URL时的参数,字典格式
    • proxies:添加代理服务器,字典格式
    • data:将放进data的数据转换为form表单数据
      • data.encode('utf8'):默认的字符编码是latin-1
    • json:将json对应的数据放进json参数里
      • 注意:json 和 data二者只能同时存在其一
    • timeout:设置超时时间
  • 案例:
# requests练习1 -- 网页搜索人名
import requests
query = input("请输入要搜索的人名:")
url = f'https://cn.bing.com/search?q={query}'
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40'
}
res = requests.get(url, headers=headers)
# 输出响应体的文本内容
print(res.text)
res.close()
requests接收数据:
  • 实例化对象:res = requests.get(url,headers,params...)
  • requests接收响应数据的方法:
    • res.text:获取响应体的文本内容
    • res.status_code:获取响应体的状态码
    • res.headers:获取响应体的消息头
      • 可用字典方式进行查找(继承字典类型),可用dict(res.headers)转换为字典类型
    • res.encoding:消息体的编码方式
      • res.encoding = 'utf8'把编码转为utf8
    • res.content:获取原始二进制数据
      • res.content.decode('utf8'):将原始字节码转换为utf8
    • res.json():接收json格式的数据,转换成字典返回
    • res.cookies:获取服务器返回的cookies值
# requests练习2 -- 爬取豆瓣分类
import requests
url = "https://movie.douban.com/j/new_search_subjects"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40"
}
params = {
    "sort": "U",
    "range": "0,10",
    "tags": "",
    "start": 0,
    "genres": "动画"
}
res = requests.post(url, params=params, headers=headers)
print(res.text)
res.close()
Session类
  • session会话对象可以跨请求保持某些参数,比如在同一个session实例发出的所有请求之间保持cookie信息。
# 模拟登陆请求:
import requests
data = {
    'username':'root',
    'password':'admin'
}
# 创建Session对象
session = requests.Session()
# 通过Session对象,发送登陆请求
res = session.post("url",data=data)
print(res.status_code)
# 通过Session对象,发送请求
res1 = session.get("url")
print(res1)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5658382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存