資源簡介
學習python一周,學著寫了一個爬蟲,用來抓取360百科的詞條,在這個過程中,由于一個小小的改動,程序出現一些問題,又花了幾天時間研究,問了各路高手,都沒解決,最終還是自己解決了,其實就是對list列表理解不夠深入導致的。這個bug很有借鑒意義。
有5個模塊:
spider_main.py是入口函數
url_manager.py是管理器,管理需要抓取的url和已經抓取的url
html_downloader.py是下載器,下載對應url的網頁
html_parser.py是解析器,解析出新的url列表和當前的詞條信息
html_outputer.py是輸出器,將抓取的詞條title和解釋summary輸出成一個html表格
本程序使用的是最新的python3.4.4,使用的類庫有:
官方的urllib
第三方的BeautifulSoup(自行下載安裝)

代碼片段和文件信息
import?urllib.request
class?HtmlDownloader(object):
????def?download(self?url):
????????if?url?is?None:
????????????return
????????res?=?urllib.request.urlopen(url)
????????if?res.getcode()?!=?200:
????????????return
????????return?res.read()
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-04-07?22:30??baike360_spider\
?????文件?????????257??2016-04-05?00:14??baike360_spider\html_downloader.py
?????文件?????????863??2016-04-07?22:27??baike360_spider\html_outputer.py
?????文件????????1509??2016-04-07?22:30??baike360_spider\html_parser.py
?????文件????????3018??2016-04-07?22:31??baike360_spider\output.html
?????文件????????1217??2016-04-07?22:27??baike360_spider\spider_main.py
?????文件?????????658??2016-04-05?00:13??baike360_spider\url_manager.py
?????文件???????????0??2016-04-04?22:02??baike360_spider\__init__.py
?????目錄???????????0??2016-04-07?22:31??baike360_spider\__pycache__\
?????文件?????????602??2016-04-06?13:10??baike360_spider\__pycache__\html_downloader.cpython-34.pyc
?????文件????????1302??2016-04-07?22:28??baike360_spider\__pycache__\html_outputer.cpython-34.pyc
?????文件????????1579??2016-04-07?22:31??baike360_spider\__pycache__\html_parser.cpython-34.pyc
?????文件????????1252??2016-04-06?13:10??baike360_spider\__pycache__\url_manager.cpython-34.pyc
?????文件?????????134??2016-04-06?13:10??baike360_spider\__pycache__\__init__.cpython-34.pyc
評論
共有 條評論