关于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方法的更多相关文章

  1. 数据挖掘_requests模块的post方法

    前面已经跟大家讲了requests模块的get方法,这一篇文章我们要介绍的是requests模块中的另一个比较常用的方法,post方法 post方法的形式相比于get要复杂一些,这时因为post在提交 ...

  2. Python中optionParser模块的使用方法[转]

    本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值.分享给大家供大家参考之用.具体分析如下: 一般来说,Python中有两个内 ...

  3. 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. ...

  4. Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块

    Python第二十二天   stat模块  os.chmod方法  os.stat方法  pwd  grp模块 stat模块描述了os.stat(filename)返回的文件属性列表中各值的意义,根据 ...

  5. 查看python中模块的所有方法

    查看python中模块的所有方法     安装的python模块,现将查看方法总结如下 一.CMD命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交 ...

  6. urllib模块中的方法

    urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google ...

  7. .2-浅析express源码之applicaiton模块(1)-咸鱼方法

    上一节讲了express的入口文件,当执行主函数,会调用app.init方法,这个方法就来源于application模块. 这个模块有很多方法,目前仅仅过一下初始化方法: app.init = fun ...

  8. [代码]--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. ...

  9. Drupal模块的安装方法

    Drupal自身的安装很简单,新建一个数据库,然后根据安装提示一步一步做就OK了. 而Drupal可以通过安装各种模块来提供更多定制功能,这些模块的安装方法基本相同,一般来说,就是以下几步: 1) 从 ...

随机推荐

  1. tomca配置文件自动还原问题的解决 server.xml content.xml 等

    当我们在处理中文乱码或是配置数据源时,我们要修改Tomcat下的server.xml和content.xml文件. 但是当我们修改完后重启Tomcat服务器时发现xml文件又被还原了,修改无效果. 为 ...

  2. SpringBoot单元测试中的测试方法执行顺序

    一.忽略方法@ignore 二.执行顺序@FixMethodOrder(MethodSorter.JVM) 我们在执行JUnit测试用例时,有时需要按照定义顺序执行单元测试方法,比如如在测试数据库相关 ...

  3. windows7.0旗舰版安装后控制面板自带的Microsoft程序

    1.不要卸载,否则会出现安装其他软件时缺少动态链接库

  4. 新概念英语(1-69)The car race

    新概念英语(1-69)The car race Which car was the winner in 1995 ? There is  car race near our town every ye ...

  5. python入门(11)条件判断和循环

    python入门(11)条件判断和循环 条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: ag ...

  6. 使用Java High Level REST Client操作elasticsearch

    Java高级别REST客户端(The Java High Level REST Client)以后简称高级客户端,内部仍然是基于低级客户端.它提供了更多的API,接受请求对象作为参数并返回响应对象,由 ...

  7. MYSQL之库操作

    一.系统数据库 information_schema :虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等 mysql:核心数据库,里面包含用户.权限. ...

  8. 用于水和水蒸汽物性计算的Python模块——iapws

    无论是火电还是核电,将能量转化为电能的方式主要还是烧开水,即加热水产生高压蒸汽驱动汽轮机做功再发电.在进行热力循环分析.流动传热计算时,需获得水和水蒸汽的物性参数.网上主流的水蒸汽物性计算程序是上海成 ...

  9. python打包压缩文件夹zip+组装文件夹

    无意间想到的一个需求,然后就顺手写了写,留下来,方便以后用 列表版:(基本没用,仅提供思路,字典版稍微改动可以直接用) 大体需求: 把重复的文件名进行改名,达到浏览器下载相同文件的效果 下载完成后再把 ...

  10. Codeforces Round #441 (Div. 2, by Moscow Team Olympiad) C. Classroom Watch

    http://codeforces.com/contest/876/problem/C 题意: 现在有一个数n,它是由一个数x加上x每一位的数字得到的,现在给出n,要求找出符合条件的每一个x. 思路: ...