Python 最简单爬虫爬取数据(一):如何请求

Python 3.x中使用urllib这个模块进行操作

urllib模块的使用

1.urllib.request 模块是用来打开和读取URLs的;

2.urllib.error 模块包含一些有urllib.request产生的错误,可以使用try进行捕捉处理;

3.urllib.parse 模块包含了一些解析URLs的方法;

4.urllib.robotparser 模块用来解析robots.txt文本文件.它提供了一个单独的RobotFileParser类,通过该类提供的can_fetch()方法测试爬虫是否可以下载一个页面。

    我们使用urllib.request.urlopen()这个接口函数就可以很轻松的打开一个网站,读取并打印信息。

Python 最简单爬虫爬取数据(一):如何请求

 请求完成urllib.request.urlopen()方法返回一个 response对象,不能直接显示,需要通过read方法显示geturl()

  • read() 读取信息
  • geturl()返回的是一个url的字符串;
  • info()返回的是一些meta标记的元信息,包括一些服务器的信息;
  • getcode()返回的是HTTP的状态码,如果返回200表示请求成功。

编码问题

decode("utf-8")方法用来解码 eg.解码成utf-8

encode("utf-8")方法用来编码 eg.编码成utf-8

自动获取编码类型的模块>>>chardet

安装 pip install chardet //基本默认自带
使用chardet.detect()方面即可获得编码类型

Python 最简单爬虫爬取数据(一):如何请求

增强请求逻辑

Python 最简单爬虫爬取数据(一):如何请求

url可以是一个request对象