運(yùn)行代碼時(shí)出現(xiàn) 'module' object has no attribute 'HtmlParser'報(bào)錯(cuò)
代碼和老師的一樣 出現(xiàn)這個(gè)報(bào)錯(cuò)
Traceback (most recent call last):
? File "/home/桌面/python/baike_spider/spider_main.py", line 35, in <module>
??? obj_spider = SpiderMain()
? File "/home/桌面/python/baike_spider/spider_main.py", line 10, in __init__
??? self.parser = html_parser.HtmlParser()
AttributeError: 'module' object has no attribute 'HtmlParser'
附上主程序代碼
import html_downloader, html_outputer, html_parser, url_manager
class SpiderMain(object):
?? ?def __init__(self):
?? ??? ?
?? ??? ?self.urls = url_manager.UrlManager()
?? ??? ?self.downloader = html_downloader.HtmlDownloader()
?? ??? ?self.parser = html_parser.HtmlParser()
?? ??? ?self.outputer = html_outputer.HtmlOutputer()
?? ?def craw(self, rot_url):
?? ??? ?count = 1
?? ??? ?self.urls.add_new_url(root_url)
?? ??? ?while self.urls.has_new_url():
?? ??? ??? ?try:
?? ??? ??? ??? ?new_url = self.urls.get_new_url()
?? ??? ??? ??? ?html_cont = self.downloader.downloader(new_url)
?? ??? ??? ??? ?new_urls, new_data = self.parser.parse(new_url, html_cont)
?? ??? ??? ??? ?self.urls.add_new_urls(new_urls)
?? ??? ??? ??? ?self.outputer.collect_data(new_data)
?? ??? ??? ??? ?
?? ??? ??? ??? ?if count == 1000:
?? ??? ??? ??? ??? ?break
?? ??? ??? ??? ?count = count + 1
?? ??? ??? ?except:
?? ??? ??? ??? ?print 'craw failed'
?? ??? ?self.outputer.output_html()
if __name__ == "__main__":
?? ?root_url = " http://baike.baidu.com/view/21087.htm"
?? ?obj_spider = SpiderMain()
?? ?obj_spider.craw(root_url)
?? ??? ?
2016-04-24
html_parser文件中?HtmlParser方法不存在,或者是名字寫錯(cuò)了,自己檢查一下
2016-02-04
表明沒有定義HtmlParser這個(gè)屬性或方法