python爬虫中get和post方法介绍以及cookie作用


Posted in Python onFebruary 08, 2018

首先确定你要爬取的目标网站的表单提交方式,可以通过开发者工具看到。这里推荐使用chrome。

这里我用163邮箱为例

打开工具后再Network中,在Name选中想要了解的网站,右侧headers里的request method就是提交方式。status如果是200表示成功访问下面的有头信息,cookie是你登录之后产生的存储会话(session)信息的。第一次访问该网页需要提供用户名和密码,之后只需要在headers里提供cookie就可以登陆进去。

引入requests库,会提供get和post的方法。

代码示例:

import requests
import ssl

user_agent="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"
accept='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
accept_language='zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'
upgrade='1'
headers={
  'User-Agent':user_agent,
  'Accept':accept,
  'Accept-Language':accept_language,
'Cookie':'....'#这里填入你登陆后产生的cookie
}
r = requests.get("http://mail.163.com/js6/main.jsp?sid=OAwUtGgglzEJoANLHPggrsKKAhsyheAT&df=mail163_letter#module=welcome.WelcomeModule%7C%7B%7D",headers=headers,verify=False)
fp = open("/temp/csdn.txt","w",encoding='utf-8')
fp.write(str(r.content,'utf-8'))
fp.close()

这里我引入了ssl库,因为我第一次访问的网页证书过期。如果我们使用爬虫进入这样的网站时,会报错:SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)

在requests的get和post方法中,有一个参数为verify,把他设为False后会禁掉证书的要求

Python 相关文章推荐
Python正则表达式匹配ip地址实例
Oct 09 Python
python BeautifulSoup设置页面编码的方法
Apr 03 Python
在Django的URLconf中使用命名组的方法
Jul 18 Python
Python selenium如何设置等待时间
Sep 15 Python
Python更新数据库脚本两种方法及对比介绍
Jul 27 Python
virtualenv实现多个版本Python共存
Aug 21 Python
Numpy数据类型转换astype,dtype的方法
Jun 09 Python
Python+opencv 实现图片文字的分割的方法示例
Jul 04 Python
在交互式环境中执行Python程序过程详解
Jul 12 Python
python使用tomorrow实现多线程的例子
Jul 20 Python
150行Python代码实现带界面的数独游戏
Apr 04 Python
OpenCV+Python3.5 简易手势识别的实现
Dec 21 Python
Python OpenCV 直方图的计算与显示的方法示例
Feb 08 #Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 #Python
Python列表推导式与生成器表达式用法示例
Feb 08 #Python
详解python OpenCV学习笔记之直方图均衡化
Feb 08 #Python
python OpenCV学习笔记实现二维直方图
Feb 08 #Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
Feb 08 #Python
Python编程argparse入门浅析
Feb 07 #Python
You might like
JQUERY 浏览器判断实现函数
2009/08/20 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
JS生成不重复的随机数组的简单实例
2016/07/10 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
JS实现仿UC浏览器前进后退效果的实例代码
2017/07/17 Javascript
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
[01:18:21]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
编程语言Python的发展史
2014/09/26 Python
Python 闭包的使用方法
2017/09/07 Python
Python编程之Re模块下的函数介绍
2017/10/28 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
python实现ID3决策树算法
2018/08/29 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
Django ORM 聚合查询和分组查询实现详解
2019/08/09 Python
使用Python实现将多表分批次从数据库导出到Excel
2020/05/15 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
中学实习教师自我鉴定
2013/12/12 职场文书
技能竞赛活动方案
2014/02/21 职场文书
搞笑车尾标语
2014/06/23 职场文书
公司门卫工作职责
2014/06/28 职场文书
社区两委对照检查材料
2014/08/23 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
施工安全保证书
2015/05/09 职场文书
Redis 异步机制
2022/05/15 Redis