数据挖掘_requests模块的get方法

关于requests模块

之前在跟大家讲通过字典列表批量获取数据的时候用过这个模块

安装过程就不再讲解了

requests模块是python的http库,可以完成绝大部分与http应用相关的工作,所以我们可以用它来进行数据抓取工作

requests模块有两个常用的方法,get 和 post 我们也主要只是围绕这两个方法来讲解requests模块

 

注意:requests不能模拟浏览器的全部行为

 

get方法

在requests模块中,我们可以通过get和post两种形式去向服务器发出http请求

例如,还是用我自己的网站做例子,来简单演示这个方法

 

# coding=utf-8
__Author__ = "susmote"

import requests

url = "http://www.susmote.com"
resp = requests.get(url)

with open("home.html", 'w', encoding='utf8') as f:
    f.write(resp.text) 

  

在命令行运行

 

我们得到了一个文件,也就是我的网站的首页的源码

我们通过浏览器打开,如下

 

resp还有一些其他的属性,你可通过help(resp)查看response的各种属性和方法

返回如下图

 

我们试一下里面的一些属性

 

 

编码问题

在这里要特别注意一下编码的问题

通过resp.encoding 可以返回默认编码,resp.text就是按照这个进行编码的

 

但如果将编码改为gb2312,就会出现乱码

 

 

response具有content属性,会以二进制的方式返回响应的内容,返回内容如下图所示

 

 

response还有json方法,可以将返回的文本内容以json的方式进行解析

http://jsonip.com 这个网站在接受get请求后,作为响应会向请求方法返回一个json格式的文本,里面会有发起请求的ip地址等信息

例如下面这个例子

# coding=utf-8
__Author__ = "susmote"

import requests

url = "http://jsonip.com/"
resp_ip = requests.get(url)

print("字符串格式")
print(resp_ip.text)
print(type(resp_ip))

print("字典格式")
print(resp_ip.json())
print(type(resp_ip))

print(resp_ip.text) 

  

下面我们在命令行运行这个文件

 

在这个例子中,resp_ip的text包含了返回的文本信息,json格式的信息也是以文本的方式返回的,这个可以从返回结果中看出

resp_ip.json()是使用json方法对返回的内容进行解析,将json解析的结果以字典的形式返回,但要注意的是json方法只是解析,并不会对resp.text造成影响,也就是之前的resp.text的内容是不变的

 

关与get方法大概就是这些,还有一些后面再讲

 

官方博客 www.susmote.com

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值