
为什么做这个
和同学聊天,他想爬取一个网站的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”领取,希望能帮助到你。






























