一个爬虫的架构包括URL管理器,网页下载器,和网页解析器,管理待抓取的URL集合和已抓取URL集合,这样是为了防止重复抓取和循环抓取。
网页下载器
将互联网上URL对应的网页下载到本地的工具。
网页解析器
将下载的网页按照某种网页形式进行解析,找到需要的内容。算法
一共创建4个类,url_manager,html_downloader,html_parser,spider_main。主类中构造函数创建其他三个类的对象。
在主类的爬取函数中,首先完成网页的下载和解析,并将解析的符合要求的URL添加到待爬取URL集合中。
html_downloader类只有一个方法,即用来下载网页。
html_parser类,包含一个私有方法,用来寻找课程的链接网址。
url_manager类中,设置两个存放URL的集合,一个作为待爬取的URL集合,一个作为已爬取的URL集合,若仍存在待爬取的URL,在获取该URL的同时,将其从待爬取集合中删除,添加到已爬取集合,防止重复爬取。get_text()方法可以获取标签中的文本内容。
代码如下:<