开发环境

  • ubuntu 16.04
  • sublime
  • python3.6
    • 安装:sudo apt install python
  • requests库
    • requests库安装:sudo pip install requests

第一个例子

import requests
r=requests.get("http://www.baidu.com")
r.encoding="utf-8"
print(r.text)

运行结果如下,成功抓取了百度的源代码

现在来详细讲解

import requests
就是导入了requests库,这是一个爬虫库

r=requests.get("http://www.baidu.com")

r是一个Response 对象。我们可以从这个对象中获取所有我们想要的信息。requests.get函数参数是url,返回值是一个Response 对象。

r.encoding="utf-8"

设置了网页编码,如果不加,汉字可能会乱码
这里写图片描述

关于编码问题,r.encoding的值是通过解析html文本的编码声明得到的,而r.apparent_encoding是通过解析文本得到的,首选r.encoding,如果编码不对,则使用r.apparent_encoding的值。如下:

r.encoding=r.apparent_encoding

print r.text :打印网页内容

获取请求状态码

import requests
r=requests.get("http://hjwblog.com")
print(r.status_code)

运行结果

200

200表示访问成功,如果访问失败会抛出异常。