码迷,mamicode.com
首页 > 其他好文 > 详细

数据挖掘_requests模块的get方法

时间:2018-04-26 14:54:46      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:相关   令行   自己   width   auth   author   div   一个   列表   

技术分享图片

关于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方法

标签:相关   令行   自己   width   auth   author   div   一个   列表   

原文地址:https://www.cnblogs.com/susmote/p/8948087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!