下面使用Python开发一个网页爬虫,爬取百度百科词条信息,整个程序涉及到url管理器,html下载器,html解析器,html显示以及调度程序:
程序结构:
spider_main.py:爬虫的调度程序
url_manager.py:爬虫URL管理器,维护两个set,一个为将要爬取信息的url,一个为已经爬取过的url
html_downloader.py:html下载器
html_parser.py:html内容解析器
html_outputer.py:结果收集和展示
【爬虫的流程图】
spider_main.py [调度程序]:
【说明】代码使用上面的爬虫流程图架构,spider_main中负责各个爬虫模块的功能调用。
url_manager.py [URL管理器]:
【说明】url_manager负责url的存储,在一个网页中爬取的内容大致有两部分,一部分是需要爬取的 百度百科词条 内容,另外一部分是该网页中包含的可供爬取的url,后者会通过add_new_urls方法存下来,待后续继续爬取。
html_downloader.py [HTML内容下载器]:
【说明】html_downloader文件负责html源文件的下载,此处使用urllib2库进行Html网页下载。
html_parser.py [HTML解析器]:
【说明】下载到的Html文档中包含了各种各样的Html标签,html_parser负责从Html文档中解析我们需要的文字内容,以及可以继续爬取的词条链接。
html_outputer.py [结果收集和显示]:
【说明】html_outputer只是为了将上面爬取到的内容按照自己的格式显示出来,不是必要的模块。
运行脚本文件,出现下面的打印:
等待输出:"craw finished!" ,抓取完毕,在当目录下生成了一个output.html的文件:
output.html:
【爬虫源码下载地址】
http://download.csdn.net/detail/tianmaxingkong_/9667206