官术网_书友最值得收藏!

2.4 爬取新聞保存到XML文件并分析特征關系

在本節的內容中,將通過一個具體實例詳細講解使用Python爬取新聞信息并保存到XML文件中的方法,以及使用Stanford CoreNLP提取XML數據特征關系的過程。

2.4.1 爬蟲抓取數據

在本項目的“Scrap”目錄中提供了多個爬蟲文件,每一個文件都可以爬取指定網頁的新聞信息,并且都可以將爬取的信息保存到XML文件中。例如通過文件scrap1.py抓取新浪體育某個頁面中的新聞信息,并將抓取的信息保存到XML文件news1.xml中。文件scrap1.py的主要實現代碼如下所示。

源碼路徑:daima\2\2-4\pythonCrawler\venv\Scrap\scrap1.py

執行后將抓取的新浪體育的新聞信息保存到XML文件news1.xml中,如圖2-6所示。

圖2-6 文件news1.xml

2.4.2 使用Stanford CoreNLP提取XML數據的特征關系

Stanford CoreNLP是由斯坦福大學開源的一套Java NLP工具,提供了詞性標注(Part-of-Speech tagger)、命名實體識別(Named Entity Recognizer,NER)、情感分析(Sentiment Analysis)等功能。Stanford CoreNLP為Python提供了對應的模塊,可通過如下命令安裝。

因為本項目抓取的是中文信息,所以,還需要在Stanford CoreNLP官網下載專門處理中文的軟件包如stanford-chinese-corenlp-2018-10-05-models.jar。

編寫文件nlpTest.py調用Stanford CoreNLP分析處理上面抓取到的數據文件news1.xml,提取出數據中的人名、城市和組織等信息,主要實現代碼如下所示。

源碼路徑:daima\2\2-4\pythonCrawler\venv\nlpTest.py

執行后會輸出提取分析后的數據:

主站蜘蛛池模板: 武清区| 雅安市| 福贡县| 宁夏| 嘉兴市| 怀安县| 贵德县| 宁国市| 环江| 新邵县| 手游| 临汾市| 临夏县| 青浦区| 日喀则市| 长岛县| 紫阳县| 赤峰市| 云和县| 墨脱县| 汽车| 依安县| 汶川县| 清原| 永济市| 南陵县| 南和县| 奈曼旗| 军事| 新营市| 奇台县| 格尔木市| 离岛区| 巧家县| 景泰县| 镇赉县| 灵宝市| 牡丹江市| 长海县| 瓦房店市| 错那县|