爬取推特一個(gè)指定用戶的信息,包括這個(gè)用戶的用戶名,還有@后面的東西,個(gè)人簡介,加入推特的時(shí)間,地理位置,這個(gè)用戶的推特ID(每個(gè)用戶還有一個(gè)的純數(shù)字的),以及最近的3000條推特,推特內(nèi)容我只需要文字內(nèi)容,帶鏈接的或者視頻圖片的不需要,純文字內(nèi)容需要,再處理一下文本,把一些文本無關(guān)的內(nèi)容去除,比方說,“How about a game to start your Saturday morning! See if you can stop @TroyTheMascot in his outline! https://t.co/Zu7fKLCm4W” 只需要的部分是“How about a game to start your Saturday morning! See if you can stop @TroyTheMascot in his outline!” 鏈接的部分不要。
然后就是這個(gè)工作重復(fù)做了。我需要這個(gè)用戶關(guān)注的人的如上資料,還有這個(gè)用戶關(guān)注的人的關(guān)注的人的如上資料。就是三級(jí)跳。
然后輸出我想要一個(gè)csv 文件
先是這個(gè)用戶的個(gè)人信息:id,用戶名,個(gè)人描述,地理,加入時(shí)間,有一個(gè)user_level,第一個(gè)指定id的人是level1,他關(guān)注的人是level2,他關(guān)注的人的關(guān)注的人是level3. Parents_name 是這個(gè)用戶是誰關(guān)注的。
再就是這個(gè)用戶發(fā)的所有文本內(nèi)容的推特,一行一條,這行就不要個(gè)人描述,地理位置加入時(shí)間的了。
之后爬取完成后,首先對(duì)目標(biāo)用戶的爬取的所有推特進(jìn)行關(guān)鍵字選取,加上tf-idf,選出最能代表這個(gè)用戶的20個(gè)詞.然后對(duì)level3級(jí)別的所有用戶進(jìn)行同樣的操作,找出這些用戶跟目標(biāo)用戶的關(guān)鍵字匹配程度。在一個(gè),對(duì)location進(jìn)行計(jì)算,根據(jù)推特個(gè)人資料中地點(diǎn)的名稱,得到兩個(gè)用戶的地理距離。再對(duì)指定用戶跟level3的用戶進(jìn)行個(gè)人介紹的關(guān)鍵字提取,文本相似度看。根本如上三個(gè)元素,給指定用戶推送3個(gè)最可能的朋友。