Python 百科搜尋聚合

2021-07-29 14:19:34 字數 1683 閱讀 8556

鑑於大陸對維基百科中文的不友好,我們還需要把概念翻譯成英文後再進行搜尋。

程式設計

後續版本

利用整合開發環境

如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.先天不足。百科作為旗下產品之一,品牌大 網域名稱優勢存在明顯優勢,在平台上,自己的產品無...