爬虫中遇到的3种payload信息,该如何处理
·
爬虫中三种payload信息
爬虫遇到的3种payload信息该如何处理
Query String Parameters (查询字符串参数)
当发生一次GET请求时,参数会以url string的形式传递,也就是url中?后面跟着的字符串则为其请求参数,且以&作为分隔符。简单说就是url上面的请求参数
# 发请求时可处理成
import requests
my_headers = {
"User-Agent": "xxx"
}
resp = requests.get(url, headers=my_headers)
Form data (表单数据)
此时, 肯定是post请求。数据是按照form表单的形式传递的
import requests
my_headers = {
"User-Agent": "xxx"
}
my_data = {
"page": 1,
"data": ""
}
resp = requests.post(url, headers=my_headers, data=my_data)
request payload
此时, 肯定是post请求,数据是直接被挂载到请求体上的。参数会以Request Payload的形式进行传递,数据格式为JSON。
代码中post的参数separators=(‘,’, ‘:’) 是为了让程序更好的伪装,python字典中间是会隔着空格的,而js的对象没有,故通过这种方式去掉空格
import requests
import json
my_headers = {
"Content-Type": "application/json"
"User-Agent": "xxx"
}
payload = {
"page": 1,
"size": 20
}
resp = requests.post(url=url, headers=my_headers, data=json.dumps(payload, separators=(',', ':'))
print(resp.json())
更多推荐
所有评论(0)