urllib库官方文档:https://docs.python.org/3/library/urllib.request.html
urllib库是python内置的HTTP请求库,我们使用时不需要下载它,只要导入即可.urllib包含四个模块: 详情请查看:https://www.jianshu.com/p/63dad93d7000
第一个模块 request,它是最基本的 HTTP 请求模块,我们可以用它来模拟发送一请求,就像在浏览器里输入网址然后敲击回车一样,只需要给库方法传入 URL 还有额外的参数,就可以模拟实现这个过程了。
第二个 error 模块即异常处理模块,如果出现请求错误,我们可以捕获这些异常,然后进行重试或其他操作保证程序不会意外终止。
第三个 parse 模块是一个工具模块,提供了许多 URL 处理方法,比如拆分、解析、合并等等的方法。
第四个模块是 robotparser,主要是用来识别网站的 robots.txt 文件,然后判断哪些网站可以爬,哪些网站不可以爬的,其实用的比较少。
在这里重点对前三个模块进行下讲解。
urllib的使用
import urllib.request # 导入 urllib 模块
# 设置用户代理,隐藏爬虫身份
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
" AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
# 等待爬取的网址
url = 'https://www.amazon.cn/'
# 创建请求对象
req = urllib.request.Request(url=url, headers=headers)
# 发送请求,并返回响应体
response = urllib.request.urlopen(req)
# 获取页面数据
html = response.read().decode()
网友评论