中央電視臺《焦點訪談》已經播出, 可口可樂認可旗下‘果粒橙’含有美國禁用農藥多菌靈,多菌靈可致腦麻痹、肝臟腫瘤等癌症。」
證實這個微信朋友圈的謠言最直接的證據就是能不能在《焦點訪談》找到相關的報道。訪問《焦點訪談》的官方主頁居然能找到從2009年至今的節目列表。因而想着用爬蟲爬取這些節目列表,看看到底《焦點訪談》在關注些什麼。html
#coding:utf8 from robobrowser import RoboBrowser import re browser = RoboBrowser() url="http://cctv.cntv.cn/lm/jiaodianfangtan/jiemushipin/index.shtml" browser.open(url) tt = browser.select("div.md_bd") all_items = re.findall("{'title':'(.*?)',", str(tt)) #使用正則表達式提取相關信息 with open("jiaodianfangtan.txt","w") as ff: for i in all_items: i = i.replace("[焦點訪談]","") #剔除「焦點訪談」 i = i.replace("《焦點訪談》", "") i = re.sub("\([0-9]{8}\)","", i) # 剔除日期 i = re.sub("([0-9]{8})","", i) i = re.sub("([0-9]{8})","", i) i = re.sub('\([0-9]{4}.[0-9]{1,2}.[0-9]{1,2}\)', '', i) i = re.sub('([0-9]{4}.[0-9]{1,2}.[0-9]{1,2})', '', i) i = i.strip() ff.writelines(i + "\n")
經過上述步驟,能夠獲得全部節目名稱。而後將上述保存的文檔讀入R語言中,經過jiebaR包進行文本分析,經過worldcloud2繪製詞雲。正則表達式
library(jiebaR) library(wordcloud2) aa <- readLines("content.txt") result <- qseg<=aa result1 <- data.frame(table(as.character(result))) data <- result1[66:nrow(result1),] # remove non-Chinese words data=data[order(data$Freq, decreasing = T),] data = data[-c(1,3,4,7,9,11,12),] #remove nonsense words wordcloud2(data)
這就是結果微信
過程雖然簡單,可是對中文字符的處理比較棘手,經過request或者urllib等模塊也能夠爬取內容,可是中文部分常常是亂碼,而Robotbrowser能夠很好的解決中文亂碼問題。ide
本文只是把題目進行了分析,還能夠對時間進行分析,看看詞頻隨時間是否有變化。還能夠經過爬蟲下載視頻。url