首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python Requests使用

上周学习了Python urllib使用(一),Python urllib使用(二),对Python HTTP请求有了一些了解,但操作起来太麻烦,需要写很多的Opener和Handler,在进行登陆,Cookie等需要写很多代码,这一点也不Python。今天来学习Python 更为强大的HTTP库。看看官网介绍你就懂。

Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。

警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。

安装

发送请求

Get请求

传递参数

结果:

定制请求头

requests可以指定请求头,url路径等等一些骚操作。

抓网页

上一篇文章写了正则表达式,我们可以在这试试,来一个抓取直呼主题标题的爬虫:

上面的我们抓取的知乎主题标题。如果我们想抓取图片,看下边

抓图片

因为图片,视频属于二进制,要将二进制文件保存成对应的文件:

Post请求

上面我们使用了Requests的Get请求,下面看看Post请求看看:

Post Multipart-Encoded(多编码)

Session和Cookie

Requests Cookie使用

Requests Session使用

以上我们所有的都没有涉及会话维持,如果我们登陆了一个网站,获取用户信息后的后续操作如果没有会话维持都会出问题,不会携带用户标志。那么我们如何保持长时间的爬取数据呢。那就要用到session。

这样我们就可以保持所有请求在同一个会话中执行。

后面记录一些常用操作:

SSL

Python正则

上一篇文章我们就记录了正则表达式,正好使用在这个地方。re是Python的正则库,下面用一些实例来学习Python中正则的使用。

match()

匹配目标

上面我们得到了匹配结果,如果想从匹配的字符串获取目标,比如1234567,我们可以把对用的表达式用()括起来,比如这样:

search()

前面使用的Match()是从字符串的开始匹配,如果匹配不成功,那就返回 ,这样不太方便,当然也可以使用正则来实现。不过Python有更好的实现,那就是 .

和 都是匹配第一个内容,现实中的爬虫不可能只抓取一个,如果想获取全部内容那就要使用

findall()

sub()

正则表达式除了提取信息,我们有时候还需要借助于它来修改文本,如果我们想把字符串中的数字全部删掉,该如何操作呢?

compile()

前面我们所讲的方法都是用来处理字符串的方法,最后再介绍一个 compile() 方法,这个方法可以讲正则字符串编译成正则表达式对象,以便于在后面的匹配中复用。

结语

上面讲了Python Requests的基本使用,想要深入学习可以查看官方文档,还对正则进行了巩固,学习了Python re的使用。明天使用两个例子对上面学习的知识进行整合。

猫眼电影排行。

百度图片抓取。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180407G1GOP700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券