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中pygame安装方法图文详解
Nov 11 Python
Python语言的面相对象编程方式初步学习
Mar 12 Python
详谈Numpy中数组重塑、合并与拆分方法
Apr 17 Python
详谈python在windows中的文件路径问题
Apr 28 Python
Python BS4库的安装与使用详解
Aug 08 Python
Python math库 ln(x)运算的实现及原理
Jul 17 Python
Django中的FBV和CBV用法详解
Sep 15 Python
python3 assert 断言的使用详解 (区别于python2)
Nov 27 Python
Python MySQL 日期时间格式化作为参数的操作
Mar 02 Python
Python文件操作基础流程解析
Mar 19 Python
解决jupyter notebook import error但是命令提示符import正常的问题
Apr 15 Python
Python 微信公众号文章爬取的示例代码
Nov 30 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
提升PHP执行速度全攻略(下)
2006/10/09 PHP
php 友好URL的实现(吐血推荐)
2008/10/04 PHP
WordPress自定义时间显示格式
2015/03/27 PHP
php实现的操作excel类详解
2016/01/15 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
jQuery 处理表单元素的代码
2010/02/15 Javascript
关于ExtJS4.1:快捷键支持的问题
2013/04/24 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
jquery 合并内容相同的单元格(示例代码)
2013/12/13 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
概述如何实现一个简单的浏览器端js模块加载器
2016/12/07 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
使用Nuxt.js改造已有项目的方法
2018/08/07 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
Python爬虫运用正则表达式的方法和优缺点
2019/08/25 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
面向对象概念面试题(.NET)
2016/11/04 面试题
购房协议书范本
2014/04/11 职场文书
勤俭节约倡议书
2014/04/14 职场文书
绿色家庭事迹材料
2014/05/01 职场文书
2014年环境整治工作总结
2014/12/10 职场文书
Go语言安装并操作redis的go-redis库
2022/04/14 Golang