已采納回答 / 請叫我百度
第一:baike_spider是你創建的包,你所說的url_manager肯定是放在包中的代碼,是可以import進去了。第二:只爬取一個網址就結束應該是html_parser中的代碼有問題,比如課程中的匹配策略與現在的百度Python詞條不匹配,需要改成href = re.compile(r"/item/.*") ? 再或者find_all ?不要丟了下劃線,我就沒注意到下劃線,所以只輸出了1條記錄就craw faild了。
2017-05-15
已采納回答 / SiCheng_Sheen
我之前也遇到過這種情況,糾結了很久,最后才發現一個非常重要的問題,百度的詞條信息發生了變化,你可以仔細看看,現在不再是以 .htm結尾了,之前在html_parser模塊中的正則表達式已經失效了,原來是href=re.compile(r"/view/\d+\.htm"),現在應該改為href=re.compile(r'/item/\w+')。這也再次證明了在采集數據前,一定要對目標進行仔細認真的分析!
2017-05-05
最贊回答 / qq_我年輕_0
我也遇到了這個問題,很好解決。你們可以看一下任何一個網站的源碼 例如本網站<...code...>他會有這一句句話? <meta charset="utf-8">這就是 html 編碼的約束 。所以在 html_outputer.py? 的這句話<...code...>前面 添加<...code...>output_html() 方法應為:<...code...>
2017-04-12
已采納回答 / 逍遙游_xj
TypeError: __init__() got an unexpected keyword argument 'from_encoding'構造函數參數錯誤我猜你用的BeautifulSoup是BeautifulSoup3版本,3版本這個位置參數是:fromEncoding,你換這個參數名試一試
2017-04-04