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机器学习之KNN分类算法
Aug 29 Python
python3 pygame实现接小球游戏
May 14 Python
Kali Linux安装ipython2 和 ipython3的方法
Jul 11 Python
新手入门Python编程的8个实用建议
Jul 12 Python
django 中QuerySet特性功能详解
Jul 25 Python
Python 画出来六维图
Jul 26 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
Aug 06 Python
Python中常用的高阶函数实例详解
Feb 21 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
Apr 29 Python
Python实现FTP文件定时自动下载的步骤
Dec 19 Python
Python实现批量将文件复制到新的目录中再修改名称
Apr 12 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 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
PHP中Header使用的HTTP协议及常用方法小结
2014/11/04 PHP
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
Javascript加载速度慢的解决方案
2014/03/11 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
jQuery判断邮箱格式对错实例代码讲解
2017/04/12 jQuery
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
jqGrid表格底部汇总、合计行footerrow处理
2019/08/21 Javascript
[00:32]2018DOTA2亚洲邀请赛Newbee出场
2018/04/03 DOTA
浅谈python中set使用
2016/06/30 Python
基于python的七种经典排序算法(推荐)
2016/12/08 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
python matplotlib坐标轴设置的方法
2017/12/05 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
python实现时间o(1)的最小栈的实例代码
2018/07/23 Python
详解python tkinter模块安装过程
2020/01/06 Python
Python模块 _winreg操作注册表
2020/02/05 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
构建高效的python requests长连接池详解
2020/05/02 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
Django model class Meta原理解析
2020/11/14 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
CSS3中设置3D变形的transform-style属性详解
2016/05/23 HTML / CSS
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
Crucial英睿达法国官网:内存条及SSD固态硬盘升级
2018/07/13 全球购物
新闻报道策划方案
2014/06/11 职场文书
党委领导班子整改方案
2014/09/30 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers