APP下载

基于Python的Post请求资料爬取

消息来源:baojiabao.com 作者: 发布时间:2026-05-22

报价宝综合消息基于Python的Post请求资料爬取

为什么做这个

和同学聊天,他想爬取一个网站的post请求观察

该网站的post请求引数有两种型别:(1)引数体放在了query中,即url拼接引数(2)body中要加入一个空的json物件,关于为什么要加入空的json物件,猜测原因为反爬虫。既有query引数又有空物件体的body引数是一件脑洞很大的事情。一开始先在apizza网站 上了做了相关实验才发现上面这个规律的,并发现该网站的请求引数要为raw形式,要是直接写程式码找规律不是一件容易的事情。源代码

import requests

import json

headers = {

\'Accept\':\'application/json, text/javascript, */*; q=0.01\',

\'X-Requested-With\':\'XMLHttpRequest\',

\'User-Agent\':\'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36\',

\'Content-Type\':\'application/json\',

\'Accept-Encoding\':\'gzip, deflate\',

\'Accept-Language\':\'zh-CN,zh;q=0.8\',

\'Cache-Control\':\'no-cache\',

}

#空的物件,body引数

data = {}

data = json.dumps(data)

page = 0

url = \'网站地址,后面为引数?param1=1¶m1=\'+str(page)

response = requests.post(url = url,data=data ,headers =headers )

print(response.url)

print(response.text)

总结

现在相关工具中发现现象请求方式确定:post还是get或者其它引数型别:form-data还是raw或者其它引数位置:若是post请求,在query中还是body中,还是二者皆有最后小编个人有六年开发经验,我自己有做python材料的整合,一个完整的python程式设计学习路线,学习资料和工具。想要这些资料的可以关注小编,并在后台私信:传送“01”领取,希望能帮助到你。

2019-12-19 11:53:00

相关文章