数据挖掘_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方法的更多相关文章
- 数据挖掘_requests模块的post方法
前面已经跟大家讲了requests模块的get方法,这一篇文章我们要介绍的是requests模块中的另一个比较常用的方法,post方法 post方法的形式相比于get要复杂一些,这时因为post在提交 ...
- Python中optionParser模块的使用方法[转]
本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值.分享给大家供大家参考之用.具体分析如下: 一般来说,Python中有两个内 ...
- IIS发布网站浏览之后看到的是文件目录 & Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法 & App_global.asax.pduxejp_.dll”--“拒绝访问。 ”
Q:IIS发布网站浏览之后看到的是文件目录 A:它出现了一个说到.NET4.0 更高框架什么的错误,所以我将 .NTE CRL版本由4.0改为2.0了,改为2.0后就出现了只能浏览文件目录了.改为4. ...
- Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块
Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块 stat模块描述了os.stat(filename)返回的文件属性列表中各值的意义,根据 ...
- 查看python中模块的所有方法
查看python中模块的所有方法 安装的python模块,现将查看方法总结如下 一.CMD命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交 ...
- urllib模块中的方法
urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google ...
- .2-浅析express源码之applicaiton模块(1)-咸鱼方法
上一节讲了express的入口文件,当执行主函数,会调用app.init方法,这个方法就来源于application模块. 这个模块有很多方法,目前仅仅过一下初始化方法: app.init = fun ...
- [代码]--IIS发布网站浏览之后看到的是文件目录 & Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法 & App_global.asax.pduxejp_.dll”--“拒绝访问。 ”
Q:IIS发布网站浏览之后看到的是文件目录 A:它出现了一个说到.NET4.0 更高框架什么的错误,所以我将 .NTE CRL版本由4.0改为2.0了,改为2.0后就出现了只能浏览文件目录了.改为4. ...
- Drupal模块的安装方法
Drupal自身的安装很简单,新建一个数据库,然后根据安装提示一步一步做就OK了. 而Drupal可以通过安装各种模块来提供更多定制功能,这些模块的安装方法基本相同,一般来说,就是以下几步: 1) 从 ...
随机推荐
- angular2 学习笔记 ( 4.0 初探 )
目前是 4.0.0-rc.2. 刚好有个小项目要开发,就直接拿它来试水啦. 更新 cli 到最新版, 创建项目, 然后 follow https://github.com/angular/angula ...
- docker实践4
我的docker学习笔记4-守护式容器 $docker run -i -t ubuntu /bin/bash $ctrl-p 或 ctrl-q # 转到后台 $docker ps $docke ...
- 前端之HTML内容
一.HTML介绍 1.Web服务本质 当我们在浏览器中输入一个url后打开一个页面这个过程实质是一个网络编程中的sockt服务端接受指令并发送指令的一个过程.本质顺序是: 浏览器发请求——>HT ...
- Lumen框架搭建指南
新人从java转php,到新公司搭建lumen框架,lumen官方文档的坑不是一般的多,对新手极其不友好,记录下我搭建过程,希望对小白们有所帮助. 首先看下官方文档:https://lumen.lar ...
- 简单聊聊java中的final关键字
简单聊聊java中的final关键字 日常代码中,final关键字也算常用的.其主要应用在三个方面: 1)修饰类(暂时见过,但是还没用过); 2)修饰方法(见过,没写过); 3)修饰数据. 那么,我们 ...
- Chrome浏览器vue-devtools插件安装教程
1.打开https://github.com/vuejs/vue-devtools,cmd方式直接输入:git Clone https://github.com/vuejs/vue-devtools. ...
- vuex commit保存数据技巧
vuex 单向数据流,推荐的commit 改变state数据,写起来非常繁琐,因为改数据可能要写很多commit函数. 依据我的理解,单向数据流主要是为了避免数据混乱,便于调试. 说白了,就是一个数据 ...
- SpringBoot中@ManyToMany的坑
我在User表中添加了manytomany的外键映射 @ManyToMany(fetch=FetchType.EAGER) @JoinTable(name="user_role", ...
- scrapy的命令行
scrapy --help 列出帮助信息以及常用命令scrapy version 列出scrapy版本scrapy version -v 列出详细的scrapy版本以及各组件信息 scrapy sta ...
- Menubutton按钮弹出菜单
#按钮弹出菜单 from tkinter import * root =Tk() def callback(): print('我被调用了') m = Menubutton(root,text = ' ...