requests 模块的基本使用
- 什么是requests 模块?
- Python 中封装好的一个基于网络请求的模块
requests 模块的作用?
- 用来模拟浏览器发请求
requests 模块的环境安装:
- pip install requests
requests 模块的编写流程:
import requests
#1.指定url
url = 'https://www.sogou.com/'
#2.请求发送get,get发返回值是一个响应对象
response = requests.get(url=url)
#3.获取响应数据
page_text = response.text #返回的是字符串形式的响应数据
#4.持久化储存
with open('sogou.html','w',encoding='utf-8') as fp:
fp.write(page_text)
参数动态化
- 有些情况下我们是需要将请求参数进行更改,将get 或者post 请求对应的请求参数封装到一个字典(键值对=请求参数)中,然后将字典作用到get 方法的params 参数中或者作用到post 方法的data 参数中
UA 检测(反爬机制):
- 是请求载体的身份标识,服务器端会检测请求的UA 来鉴定其身份。
- 反反爬策略:UA 伪装,通过抓包工具捕获某一款浏览器的UA 值,封装到字典中,且将该字典作用到headers 参数中
import requests
url = 'https://www.sogou.com/web'
#实现参数动态化
wd = input('enter a key:')
params = {
'query':wd
}
#解决UA检测
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36'
}
#在请求中需要将请求参数对应的字典作用到params这个get方法的参数中
response = requests.get(url=url,params=params,headers=headers)
response.encoding = 'utf-8'#修改响应数据的编码格式,不加这行会出现乱码
page_text = response.text
#持久化存储
fileName = wd+'.html'
with open(fileName,'w',encoding='utf-8') as fp:
fp.write(page_text)
Original: https://www.cnblogs.com/qimu666/p/16565720.html
Author: 柒木木木
Title: 1_requests基础用法
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/598756/
转载文章受原作者版权保护。转载请注明原作者出处!