鑑於大陸對維基百科中文的不友好,我們還需要把概念翻譯成英文後再進行搜尋。
程式設計
後續版本
利用整合開發環境
如pycharm, 匯入專案後執行,即可使用
在命令列視窗使用python直譯器
ctrl+r
輸入cmd
呼出命令列視窗,使用命令
cd 資料夾根目錄(baikewiki的上一級)
py -3.5 -m baikewiki.spidermain
圖示:搜尋離散數學
有道翻譯api + 第三方庫:
requests
beautifulsoup
re (後續版本)
根據最終程式所需,程式分為五大部分,分別為:
spidermain
主函式,也可說是排程器,程式的入口,排程其他類
html_parser
解析器,解析html網頁
html_outputer
輸出器,輸出解析後內容
流程圖如下:
主要完成整個程式的排程,url生成器在這個類中,後期可以考慮整合到html_**********
裡面。
異常的處理:利用有道api翻譯時,網路連線失敗會導致程式異常
利用beautifulsoup
提供的find()
方法找到這兩個標籤,再用.get_text()
方法獲取標籤內的字串。最後將兩個資訊存到乙個字典中。
類似的,對
維基百科:我們訪問乙個維基百科頁面,分析它的源**,發現標題儲存在id=' firstheading'
的標籤下,摘要儲存在id=mw-content-text
的第乙個子標籤中。
利用同樣的辦法,獲取到維基百科的標題和摘要存到字典中。
由於我們從parser
接受的資料是個字典,因此我們可以很方便的將資料輸出成我們喜愛的格式。
列印形式後期可以根據內容的增減進行優化。
個例:
math ,wiki異常
cat 異常
通病:
wiki同義詞頁面處理
異常字元列印錯誤
增加對同義詞頁面的選擇支援
分析同義詞頁面,展現乙個選單,為使用者提供選擇的途徑。
對百科內容的二次加工,自動生成更全面的摘要對有道翻譯提供的內容進行處理,整合進translator
在測試中,發現翻譯諸如貓
這類詞時,有道會返回the cat
這種帶冠詞的結果,而利用這個結果進行搜尋是無法搜到百科內容的。
改進方案:
python爬蟲糗事百科
coding utf 8 import urllib2 import re 工具類 class tools object remove n re.compile r n replace br re.compile r remove ele re.compile r re.s rs 引數,要進行替換的...
Python爬蟲 糗事百科
如果沒有這兩個庫 在命令列任意位置下 前提是你已經配置好了環境,這個網上大把,自行google pip install requests,pip install bs4 import beautifulsoup import requests from bs4 import beautifulsou...
比較 互動百科與百度百科
互動百科,雖然作為國內較大的百科 之一,但是,它的地位卻一直是較為尷尬的,因為互動百科的標題雖然是 國內最大的百科網 可以這個最大必須除開百科。互動百科,相對於百科來說,劣勢還是不少的,其主要體現在幾個方面 1.先天不足。百科作為旗下產品之一,品牌大 網域名稱優勢存在明顯優勢,在平台上,自己的產品無...