- Python數據分析從入門到精通
- 李梓萌編著
- 454字
- 2020-09-18 18:05:48
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


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