失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 利用python爬虫(part4)--requests模块之requests.get方法

利用python爬虫(part4)--requests模块之requests.get方法

时间:2020-07-05 12:15:31

相关推荐

利用python爬虫(part4)--requests模块之requests.get方法

学习笔记

文章目录

requests模块requests常用方法requests.get()

requests模块

关于requests模块的安装

进入cmd,输入以下代码,即可安装:

pip install requests

requests常用方法

requests.get()

作用

向网站发起请求,并获取响应对象。

语法

res = requests.get(url,headers=headers)#url :需要抓取的URL地址#headers : 请求头#timeout : 超时时间,超过时间会抛出异常

响应对象(res)属性

# 响应字符编码res.encoding#res.encoding = 'utf-8'# 字符串res.text#字节流res.content #HTTP响应码res.status_code #实际数据的URL地址res.url

举个例子1

我们访问测试网站(/get).当我们访问这个网站时,网站会返回我们的请求头。

代码:

import requestsimport randomfrom my_user_agent_list import user_agenturl = '/get'headers = {'User-Agent':random.choice(user_agent)}#创建请求对象res = requests.get(url, headers = headers)#得到html字符串html = res.textprint(html)

备注:my_user_agent_list模块,是我自定义的模块。模块里放着一个列表user-agent, 列表里包含了各种User-Agent字符串。

控制台输出结果:

{"args": {}, "headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Host": "", "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1", "X-Amzn-Trace-Id": "Root=1-5e867a3e-79e73bc2a78fb809260d2b4e"}, "origin": "183.164.105.16", "url": "/get"}

我们看到,测试网站返回给我们一个json格式的字符串。在这些字符串中我们可以观察到我们发送请求的请求头。

举个例子2(指定响应编码)

在我们向一个网站发起请求时,如果不指定编码形式, 则requests会根据网站的响应,猜测网站的编码。

①不指定编码

代码:

import requestsimport randomfrom my_user_agent_list import user_agenturl = '/'headers = {'User-Agent':random.choice(user_agent)}res = requests.get(url, headers = headers)print('响应编码:', res.encoding)

控制台输出结果:

响应编码: utf-8

②指定编码

代码:

import requestsimport randomfrom my_user_agent_list import user_agenturl = '/'headers = {'User-Agent':random.choice(user_agent)}res = requests.get(url, headers = headers)res.encoding = 'gbk'print('响应编码:', res.encoding)

控制台输出结果:

响应编码: gbk

举个例子3(抓取北极兔图片)

对于非结构化数据(比如:音频,视频,图片),采用二进制的形式抓取。

我们在百度图片里搜索到要抓取的北极兔图片,并检查元素,获取图片地址:

代码:

import requestsimport randomfrom my_user_agent_list import user_agenturl = 'http://b-/uploads/item/01/15/0115235815_LQQVU.jpeg'headers = {'User-Agent':random.choice(user_agent)}html = requests.get(url, headers = headers).content#将图片保存到本地with open('test/北极兔.jpg', 'wb') as f:f.write(html)

查看爬取到的图片:

OK!

举个例子4(查看HTTP响应码和实际数据URL地址)

代码:

import requestsimport randomfrom my_user_agent_list import user_agenturl = '/'headers = {'User-Agent':random.choice(user_agent)}res = requests.get(url, headers = headers)print('HTTP响应码:', res.status_code)print('URL地址:', res.url)

控制台输出结果:

HTTP响应码: 200URL地址: /

未完待续。。。 明天再写requests模块的其他方法。

如果觉得《利用python爬虫(part4)--requests模块之requests.get方法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。