数据挖掘_requests模块的get方法

Posted susmote

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据挖掘_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

 

以上是关于数据挖掘_requests模块的get方法的主要内容,如果未能解决你的问题,请参考以下文章

python 爬虫 基于requests模块的get请求

我需要创建一个使用 ZEEP 或 REQUEST 模块调用 SOAP GET 方法的 python 脚本

php中的$_REQUEST()函数怎么用

php中的$_REQUEST()函数怎么用

requests模块简单学习

PHP 中TP5 Request 请求对象的实例详解