基於Python爬蟲的大眾點評商家評論的文字挖掘

2021-10-02 12:23:53 字數 1229 閱讀 6013

使用工具

程式語言工具:python 2.7  r 2 .2.1 excel

瀏覽器:google chrome

資料庫: mongodb

情感分析(sentiment analysis),又被稱為傾向性分析、意見挖掘,是通過對帶有一定的情感色彩的主觀性文字進行處理分析,歸納推理的過程,例如通過使用者對產品的效能、**、便攜性等方面的評價分析使用者對該產品的情感傾向。通常來說,文字情感分析的目的是找出說話者在某些話題上或者針對同一事物的兩極的觀點的態度。或許是說話者當時的情感狀態,抑或是作者有意向的情感交流。

情感分析的基本步驟是分類,即將文字傳達的情感劃分為不同的類別。在句子級、功能級判斷文字所闡述的觀點是正面的,負面的,抑或是中性的。

python中有許多用於網路爬蟲的包 在這裡我們使用了「request」 和」beautiful soup」兩個用於爬取和解析網頁的軟體包,以及「pymongo」連線上mongodb資料庫方便訪問資料。

(1)使用反-反爬機制

存入資料庫

我們使用的是mongodb 資料庫,python自帶了pymongo 包我們可以通過這個包在mongodb中創立乙個資料庫「dianping」:

client = pymongo.mongoclient('localhost', 27017)

dianping = client['new']

infors = dianping['info']

而後把資料插入到資料庫中就完成了整個過程。而後對資料內的資料進行資料清洗

文字挖掘過程:

詞頻統計

為了方便檢視每個詞出現的次數,找出消費者使用最多的詞語,我們先使用軟體包進行分詞,而後再將分詞結果寫入excel**當中,方便視覺化。思想十分簡單,就是先分詞,而後統計頻次再寫入excel**中,再製作成餅圖方便檢視。

snownlp是乙個用python語言寫的類庫,可以方便的處理中文文字內容,是受到了textblob的啟發而寫的,由於現在所能找到的大部分的自然語言處理庫基本都是針對英文的,少有針對中文處理的,於是我們實現了乙個方便處理中文的類庫,並且和textblob不同的是,這裡沒有用到nltk,所有的演算法都是自己實現的,並且自帶了一些訓練好的字典。

情感分數比對

大眾點評面試

今天早上去大眾點評面試,面試官問了乙個關於演算法的題目,當時腦袋短路,沒有回答出來,在地鐵上想了想,現在把答案發出來。題目大意是這樣的 實現乙個先進後出的佇列,要求能返回最大值,不能用迴圈。public class mystack public void push int a int array n...

大眾點評反爬蟲簡單研究之一

前幾天因為要和大學同學聚會,所以看了一下大眾點評。在刷一家餐廳的點評時看到了乙個廚師的名字,就好奇這是誰,然後就複製名字準備去搜一下。點評做了防複製,當然直接用瀏覽器開發者工具或者檢視源 可破。就在用瀏覽器開發者工具的時候,發現了部分字被替換成了標籤,猜測是作為一種反爬蟲的手段,就稍做研究了一下。通...

抓取大眾點評評論

獲取每個字代表的偏移量 def get font dict 獲取每個字代表的偏移量 return url url r requests.get url,headers headers font list re.findall r.text font dict for font in font lis...