(* 輸入資料 *) data[i_]:=Import["https://www.ptt.cc/bbs/Mathematica/index"<> ToString@i<>".html",{"XMLObject"}]; (* 讀取文章欄位資料 *) mydata=Flatten[Flatten/@ Transpose@ { Cases[data[#],XMLElement["div",{"class"->"date"},{date_}]:>date, Infinity], Cases[data[#],XMLElement["div",{"class"->"author"},{author_}]:>author, Infinity], Cases[data[#],XMLElement["a",{"shape"->"rect","href"->link_},{title_}]:>{title,link}, Infinity] }&/@Range[34],1] (* 分割年度 *) mydate=Split[Quiet@Flatten@DateList[StringReplace[#,""->""]][[{2,3}]]&/@ mydata[[All,1]],#1[[1]]<=#2[[1]]&]; (* 重新定義日期 *) mydata[[All,1]]=Flatten[MapThread[ Flatten/@Thread[{#1,#2}]&,{Range[2011,2016],mydate}],1]; (* 文章直方圖 *) DateHistogram[mydata[[All,1]],#]&/@{"Month","Year"} DateHistogram[Select[mydata,#[[2]]=="chungyuandye"&][[All,1]],#]&/@{"Month","Year"}
Mathematica 教學:讀取PTT資料
由 戴忠淵 於 2016年2月23日星期二
上午12:05 發表
讀者回應 ( 0 意見 )
訂閱發佈留言 (Atom)
發佈留言
Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.
如果這篇文章對你有幫助,那請留個訊息給我~