hello

Menu

【爬虫学习笔记05】使用requests库

之前下载了两份爬虫教程的pdf,粗略看了一眼,写的是requests库,与我看的教程用urllib库不一,于是就没有看了,今天教程看着看着,看到这个requests库了,,感觉,,前面是不是白学了好多东西。。。,真开心我好像多学了一些新内容

在cmd或者shell下直接键入pip install requests,回车后即可安装该库完毕【温酒斩华雄下载库


import requests

如果觉得每次要打requests太长了,建议和我一样偷点懒

import requests as re

这样每次只要打re就能替代requests了


前文说到urllib库中的urlopen()即可一句语句请求,但它要搭配header的话就得多写一句Request(url,header)

如今这个模块更是简洁,提供了get()和post()等相关函数,一句代码即可搞定所有

例如:

如果要发送数据,也可以简单的添加数据字典data={}之后,直接写进get,而前文的urlopen还需要将data数据进行编码转换

示例:

resp = re.get('http://baidu.com/s',headers=header,params=data)

可以通过resp.url查看请求的url语句已被正确编码


访问请求内容可以通过resp.text或者是resp.content获取,这两者的不同之处在于:

resp.text可自行编码,它会去猜这里面内容的编码,当然猜错就是乱码了,不过可以设置默认值resp.encoding='utf-8'

resp.content是原始内容,如果要转换里面内容编码到utf-8,可以写语句:resp.content.decode('utf-8')


先给个proxy字典:

proxy = { 'http':'127.0.0.1:80'}

然后在get或者是post的传参数列表里多一项:

resp = re.get('http://www.baidu.com',headers=header,proxies=proxy)

[突然简单到怀疑人生]


在requests库中直接操作cookie似乎意义不是很大,因为有更好的替代方案,当然cookie也还是可以查看

只需要一句:

resp.cookies

可以查看好看点的:

resp.cookies.get_dict()

而这里我们并不需要通过保存cookie来操作,我们可以使用session【这个session和服务器端那个session没有半毛钱关系

首先生成一个会话:

session = re.session()

接下来就直接用session.get()或者是session.post()去进行各种操作即可在该会话下不断请求了,其他操作也同上


resp = re.get('不安全网站的url',verify=False)


官方文档上解释了requests与urllib的关系:

嗯,我们只需要发送【纯天然,植物饲养】的http请求就行了【100%官方翻译,非浏览器翻译的锅

— 热度:472 ℃
— 于 共写了1320个字
— 文内使用到的标签:

2条回应:“【爬虫学习笔记05】使用requests库”

  1. zpdev说道:

    re是python的正则库名称,这两天更新的挺勤快啊。

ghyer进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注