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实现获取网站PR及百度权重
Jan 21 Python
详解Python的Twisted框架中reactor事件管理器的用法
May 25 Python
Python 备份程序代码实现
Mar 06 Python
TensorFlow实现Logistic回归
Sep 07 Python
python使用suds调用webservice接口的方法
Jan 03 Python
python字符串和常用数据结构知识总结
May 21 Python
Flask框架钩子函数功能与用法分析
Aug 02 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
Aug 06 Python
pandas数据处理之绘图的实现
Jun 15 Python
python使用建议与技巧分享(一)
Aug 17 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
Sep 28 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
Mar 04 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
PHP大批量数据操作时临时调整内存与执行时间的方法
2011/04/20 PHP
php命名空间学习详解
2014/02/27 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
2016/09/19 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
javascript document.images实例
2008/05/27 Javascript
js 目录列举函数
2008/11/06 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
brook javascript框架介绍
2011/10/10 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
2017/01/19 Javascript
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
详细分析jsonp的原理和实现方式
2017/11/20 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
vue中使用极验验证码的方法(附demo)
2019/12/04 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
Python使用urllib模块的urlopen超时问题解决方法
2014/11/08 Python
详细解析Python中的变量的数据类型
2015/05/13 Python
详解Python编程中time模块的使用
2015/11/20 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
浅谈python jieba分词模块的基本用法
2017/11/09 Python
python绘制多个子图的实例
2019/07/07 Python
Python 解决相对路径问题:"No such file or directory"
2020/06/05 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
应聘教师推荐信
2013/10/31 职场文书
计算机个人求职信范例
2014/01/24 职场文书
国际商贸专业自荐信
2014/06/09 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
银行工作心得体会范文
2016/01/23 职场文书
Python 多线程之threading 模块的使用
2021/04/14 Python