pyhon3.4 requests模块模拟post登陆csdn

本文介绍了如何使用Python3.4的requests模块进行POST模拟登录,重点讨论了通过Fiddler抓包分析请求和响应,处理cookies与headers,以及登录成功的判断方法。同时对比了urllib、http.client和requests模块在爬虫中的优缺点。
摘要由CSDN通过智能技术生成

pyhon3.4 requests模块的使用

  之前一直在研究爬虫的使用,网上的有关python爬虫的资料虽然虽然比较多,但是也很杂,有些程序使用的urllib2,有些使用http.client,比较杂,说的比较模糊,研究了一个星期才明白怎么post登陆抓取登陆信息,以及爬虫主要注意的一些方面

  • POST的抓取
      我使用的是Fiddler进行抓包分析,可以获得申请的requests,返回的response里面的数据进行分析,判断是否成功登陆,网上说的r.status 等等这些都实际上不能作为是否成功登陆的的依据。
  • cookie和headers的包装
      有些网站会进行cookies和headers的判断所以进行requests时候必须包含已经设计的headers和cookies
      cookies是保证登陆数据的凭证,使用requests.Session()来自动保存cookie,你说需要做的就是先get一遍网页来获得cookie从而保证post数据的时候,cookie是原来网页的cookie而不是空
      headers是必须自己进行设计的,可以使用网上的模板,也可以使用Fiddler截取的headers,都没有问题
      当然有些网站还会检查headers里面Referer来判断是不是从该网站的某一个页面跳转到这个页面的,来屏蔽盗链什么的,so你需要的就是把Referer补充就OK
  • 抓取网页的关键字段
      可以使用正则表达式re模块来进行抓取,也可以使用bs4的BeautifulSoup模块来进行抓取都差不多,我就不谈了,看官方中文说明,更加具体仔细

  • 几种网页post需要模块的比较

    • urllib:笨重而且缓慢,基于高层语言编辑的效率单线程下低下,测试i7配置,post登陆接近28s,我是服了,配置起来也异常复杂,而且本身不支持http一些高级功能,最不推荐使用
    • http.client:基于底层,效率比较靠和requests速度差不多,配置也比较麻烦,不过貌似有Session()应该可以简化配置,不过我没试过
    • requests:用法简单,配置方便,具题看官网

  • Word is Cheap,下面上王道。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值