利用 r=requests.get(url) 命令返回的 r 属于Response类,下面是Response对象的几个常用属性
- r.status_code: HTTP请求的返回状态,200表示成功,404表示失败
- r.text: HTTP响应内容的字符串形式,即url对应的内容
- r.encoding: 从HTTP header中猜测的相应内容编码方式
- r.apparent_encoding: 从内容中分析出的响应内容编码方法(备选编码方式)
- r.content: HTTP响应内容的二进制形式
直接在IDLE中输入如下代码,在我们不进行编码之前直接打印,可以看到网页是乱码状态
import rquests
r=requests.get("https://www.baidu.com")
r.status_code
r.text
然后我们使用下面两行代码分别查看该网页的编码格式:
r.encoding
r.apparent_encoding
具体返回值如下:
从返回结果可以看到当前编码格式,在当前编码格式下,返回页码内容是乱码的,所以我们考虑利用备选编码格式替换当前编码格式,然后在进行显示。
r.encoding = "utf-8"
r.text
此使可以看到网页汉字已经可以正常显示。
这说明: 网页内容对编码格式是有要求的,当使用r.enconding不能正确解码时,我们应该使用r.apparent_encoding返回的编码格式进行解码。
- r.encoding: 如果header中不存在charest,则默认为编码为ISO-8859-1
- r.apparent_encoding: 根据网页内容分析出的编码方式
通过对Requests库的安装及其基本介绍,相信你应该会有一些基本的了解,为了方便初学者了解,此处代码演示使用的是python自带的IDLE(这个代码编辑器很不好用),因此建议大家选择一个适合自己的编辑器也很重要,笔者常用的编辑工具是 Pycharm Cummunity,感兴趣的朋友可以自己搜搜下载,该软件完全免费,而且相对比较好用。后面的文章中笔者也会更新一些爬取网页的通用代码框架,希望对于初学者有所帮助。
大家好,我是爱吃饼干的小白鼠。大家安装完python的requests,beautifulsoup ,lxml三个库,之后,我们就来说说怎么使用吧。然后我教大家一个简单的爬虫程序。
前言 最近正在学习Python网络爬虫的相关知识,所以想边学边与大家分享,鉴于本人Python水平有限,此前除了用pygame按照教程做过一些游戏之外对Python并无太深的理解,所以此文章的主要目的在于抛砖引玉,若文章中有什么错误与瑕疵,望大家可以指出,使我们共同进步。正文 目前Python爬虫领域最流行的库是requests库,关于该库的更多信息可以在官方网站http://www.py...
Python语言的应用场景可谓是十分全面,比如后端开发、网络爬虫、人工智能、数据分析,之所以应用场景这么广泛,其原因在于丰富的第三方库,那么适用于网络爬虫的第三方库有哪些呢?
经常游弋在互联网爬虫行业的程序员来说,如何快速的实现程序自动化,高效化都是自身技术的一种沉淀的结果,那么使用Python爬虫都会需要那些数据库支持?下文就是有关于我经常使用的库的一些见解。
一、类似 Requests 的库
为什么要推荐类似 Requests 的库呢?Requests 不够好吗?
虽然 Requests 对于新手很容易上手,但它是同步的、并不是异步设计的。在 HTTP 请求的时候是需要 IO 等待的。比如说,当你使用 Requests 库进行请求,网站进行返回的时候,这时 IO 就会阻塞,程序就需要等待网站的返回,这就让爬取速度变慢了。
那么异步的好处在哪呢?(侯爵老师兴奋的停不下来,继续说着)
Python 的代码是一行行去执行。也就是说,如果哪一行是非常耗时间的,之后的所有
很多你需要的信息数据都是在网站内,虽然有些网站的数据会以整洁、结构化的形式呈现,但大部分网站却无法做到这样。因此,当你想要获得一些数据的时候,你需要一些爬虫工具帮助抓取,然后再对其进行分析。今天,将介绍一些很棒的Python爬虫工具1、PyRailgun首先推荐的是PyRailgun,它是一个Web爬虫工具,具有强大的 WebUI 和脚本编辑器、任务监控和项目管理和结果查看。它支持拓展、支持任务优...