基于Python的Post请求数据爬取的方法详解


Posted in Python onJune 14, 2019

为什么做这个

和同学聊天,他想爬取一个网站的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中,还是二者皆有

ps:python requests 发起http POST 请求

python requests 发起http POST 请求,带参数,带请求头:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
url = 'http://official-account/app/messages/group'
body = {"type": "text", "content": "测试文本", "tag_id": "20717"}
headers = {'content-type': "application/json", 'Authorization': 'APP appid = 4abf1a,token = 9480295ab2e2eddb8'}
#print type(body)
#print type(json.dumps(body))
# 这里有个细节,如果body需要json形式的话,需要做处理
# 可以是data = json.dumps(body)
response = requests.post(url, data = json.dumps(body), headers = headers)
# 也可以直接将data字段换成json字段,2.4.3版本之后支持
# response = requests.post(url, json = body, headers = headers)
# 返回信息
print response.text
# 返回响应头
print response.status_code

总结

以上所述是小编给大家介绍的基于Python的Post请求数据爬取的方法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python实现端口转发器的方法
Mar 13 Python
python回调函数用法实例分析
May 09 Python
python任务调度实例分析
May 19 Python
Python使用PyCrypto实现AES加密功能示例
May 22 Python
Python基于递归实现电话号码映射功能示例
Apr 13 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
Python K最近邻从原理到实现的方法
Aug 15 Python
Python列表删除元素del、pop()和remove()的区别小结
Sep 11 Python
Django choices下拉列表绑定实例
Mar 13 Python
解决pycharm安装第三方库失败的问题
May 09 Python
Python常用数据分析模块原理解析
Jul 20 Python
Python2及Python3如何实现兼容切换
Sep 01 Python
Appium+python自动化怎么查看程序所占端口号和IP
Jun 14 #Python
Python中py文件转换成exe可执行文件的方法
Jun 14 #Python
10 行Python 代码实现 AI 目标检测技术【推荐】
Jun 14 #Python
Python3 Tkinter选择路径功能的实现方法
Jun 14 #Python
Python Tkinter 简单登录界面的实现
Jun 14 #Python
python tkinter实现界面切换的示例代码
Jun 14 #Python
对Python中TKinter模块中的Label组件实例详解
Jun 14 #Python
You might like
PHP SOCKET编程详解
2015/05/22 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
php实现背景图上添加圆形logo图标的方法
2016/11/17 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
php创建类并调用的实例方法
2019/09/25 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
2015/08/20 Javascript
webpack入门必知必会
2017/01/16 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
jQuery实现简单的滑动导航代码(移动端)
2017/05/22 jQuery
NW.js 简介与使用方法
2018/02/01 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
Python标准库os.path包、glob包使用实例
2014/11/25 Python
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
Windows10+anacond+GPU+pytorch安装详细过程
2020/03/24 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
联想C++笔试题
2012/06/13 面试题
利达恒信公司.NET笔试题面试题
2016/03/05 面试题
2014年大学生党员自我评议
2014/09/22 职场文书
交通事故责任认定书
2015/08/06 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书