分模块编写爬虫(一)
连接器模块基本思路:
- 输入:url连接
- 输出:url对应的html文本
- 步骤:
- 定义url和user-agent
- 获取网页的requests对象
- 捕获异常:
- 403:禁止访问
- 404:页面失效
- 503:页面临时不可访问,可隔段时间重试
- 301:网页重定向
- Timeout:请求超时
- 若连接成功,将返回状态码200
- 指定requests对象的编码方式为utf-8
- 返回页面的文本
import requests
from requests import ReadTimeout, ConnectionError, RequestException
# 定义url与请求头
URL = "http://www.hzau.edu.cn/"
#使用字典结构
HEADERS = {
"User-Agent": "?Googlebot"
}
#web连接器模块,输入url,返回页面文本
def getHtml(url):
global HEADERS
try:
result = req.get(url, HEADERS)
except ConnectionError:
return
except ReadTimeout:
return
except RequestException:
return
else:
if result.status_code == 200:
# 指定网页的编码方式
result.encoding = "utf-8"
# 返回网页文本信息
return result.text
elif result.status_code == 404:
return
elif result.status_code == 403:
return
if __name__ == "__main__":
print(getHtml(URL))