组成:
- 调度器:调度URL管理器、下载器、解析器之间的协调工作
- URL管理器:包括待爬取的URL地址和已爬取的URL地址,防止重复爬取
- 网页下载器:下载网页,网页下载器有urllib 包括需要 登录、代理、和cookie,requests(第三方包)
- 网页解析器:解析 DOM 树,通过 正则表达式、html.parser、beautifulsoup、、lxml
- 应用程序:从网页中提取的有用数据组成的一个应用
查询待爬url
返回带爬取url
命令下载网页
返回下载内容
交给解析器
返回有用数据
有用数据
调度器
URL管理器
网页下载器
网页解析器
应用程序
urllib
-
urllib.request 模块 是用来打开和读取URLs的; ??urllib.request.urlopen() 接口函数就可以很轻松的打开一个网站,读取并打印信息。 -
urllib.error 模块 包含一些有urllib.request产生的错误,可以使用try进行捕捉处理; -
urllib.parse 模块 包含了一些解析URLs的方法; -
urllib.robotparser 模块 用来解析robots.txt文本文件.它提供了一个单独的RobotFileParser类,通过该类提供的can_fetch()方法测试爬虫是否可以下载一个页面。
|