1. Html網頁結構介紹-網頁到底如何傳送資料?爬蟲必學
2. 資料傳遞:Get與Post差異,網路封包傳送的差異
3. Html爬蟲Get教學-抓下Yahoo股票資訊,程式交易的第一步
4. Html爬蟲Get實戰-全台最大美食平台FoodPanda爬蟲,把熊貓抓回家
5. 資料分析實戰,熊貓FoodPanda熱門美食系列|看出地區最火料理種類
6. Json爬蟲教學-Google趨勢搜尋|掌握最火關鍵字
7. Json爬蟲實戰-24小時電商PChome爬蟲|雖然我不是個數學家但這聽起來很不錯吧
8. Html爬蟲Post教學-台灣股市資訊|網韭菜們的救星
9. Html爬蟲Post實戰-全球美食平台UberEat爬蟲
10. Pandas爬蟲教學-Yahoo股市爬蟲|不想再盯盤
11. Pandas爬蟲實戰-爬下全台各地區氣象預報歷史資料
12. 資料分析實戰-天氣預報圖像化|一張圖巧妙躲過雨季
å¨å¸ãPPTç¬è²ï½ç¬ä¸å ¨å°æ大é»åå¸åæ¬ã課ç¨å¾ï¼æå就以åççè§åº¦ä¾å¯¦ä½ï¼å¦ä½åææ¶è²»è ç¼ä¸çåçã以ä¸çºå¯¦éç¬ä¸ä¾çç¯ä¾è³æï¼å ±æã8,759çãè³æï¼å ¶è³æä¾èªæ¼PPTçfolkloreãwomentalkãboy-girlãUrban_PlanãGossipingãNantouãTaichungBunéå¹¾åçãèé次課ç¨ä¸æåçç¢æ¥å®ä½çºãæ飾æ¥ãï¼æ³è¦åæ¥ãè±è¥¯è¡«ãçå¸å ´å¦ä½ã
ã8,759çãè³æ代表æ 8,759ç¯æç« ï¼ä½ä¸¦ä¸æ¯æ¯ç¯æç« é½ä¸å®ææå°ãè±è¥¯è¡«ãéåééµåï¼å æ¤è¦å ç¨pandaså¥ä»¶ä¸ç str.contains()æ¹æ³ä¾æé¸åºæ¨é¡ãå §æãææçè¨ä¸ææå°ãè±è¥¯è¡«ãéåééµåçæç« ã
# æåº æ¨é¡ or å
§æ or ææçè¨ ä¸ï¼æåºç¾ãè±è¥¯è¡«ãéååè©çæç«
get_shirt_data = getdata[
getdata['æ¨é¡'].str.contains('è±è¥¯è¡«') |
getdata['å
§æ'].str.contains('è±è¥¯è¡«') |
getdata['ææçè¨'].str.contains('è±è¥¯è¡«')
]
çºä½è¦å°æææå串åä¸èµ·å¢ï¼å çºä¹å¾åæåååçæåï¼å¦æå ¨é¨ä¸²åä¸èµ·ï¼å°±åªéè¦åæä¸æ®µå串å³å¯ï¼éç¶èªªå¾å¤§æ®µï¼ï¼ä½è¥æéä¾ç話ï¼è¦ä½¿ç¨forè¿´åä¾å·è¡ï¼é樣å·è¡çæçæè®å¾å¾å·®ã
#--- å
è¡å¡«æ»¿ç©ºå¼
get_shirt_data['æ¨é¡'] = get_shirt_data['æ¨é¡'].fillna('')
get_shirt_data['å
§æ'] = get_shirt_data['å
§æ'].fillna('')
get_shirt_data['ææçè¨'] = get_shirt_data['ææçè¨'].fillna('')
allstr = get_shirt_data['æ¨é¡'].sum() + get_shirt_data['å
§æ'].sum() + get_shirt_data['ææçè¨'].sum() # å°æ¨é¡èå
§æå
¨é¨ä¸²èµ·ä¾
å çºPPTçéæ°æåå¾åæ¡ä½¿ç¨è¡¨æ 符èï¼å æ¤è¥æ²æå·è¡éåæ¥é©ï¼æé«é »ççééµåæ°¸é é½æ¯ãXDãããQQãçï¼å æ¤éäºè¡¨æ 符èé½è¦å ä½¿ç¨ replace()éåæ¹æ³ä¾é²è¡å代ã
#--- å代æç¡æ義åå
replaceList = ['span','https','com','imgur','class','jpg','f6','href','rel',
'nofollow','..','target','blank','hl','www','cc','tw','XD','f3',
'f2','reurl','Re','http','amp','content','type','user','ipdatetime',
'[',']','{','}','(',')',"'",':',',','/','\n','ï¼','"','â','.','=','>',
'>','<','ï¼','ã','_','ï¼','ã','?','ï¼','-','ï¼','~','ï½','ï¼','ã',
'!','ã','â¦','^',';','â','QQ','&','â',':',',','/','â
','ï½','+']
for i in replaceList:
allstr = allstr.replace(i,'')
å¨èª²ç¨ãééµåæ¿ä»£æ¹æ¡ï¼æ¯è¼TF-IDFæ¼ç®æ³èGoogle NLPï¼èª°èçéï¼ãæå享使ç¨TF-IDFæ¼ç®æ³ä¾é²è¡ééµååæï¼ä½¿ç¨ jieba.analyse.extract_tags()æ¹æ³é²è¡åæãå¦æèéæ主管ä¸äºè§£TF-IDFæ¼ç®æ³å¦ä½è¨ç®ï¼åä¸æ¹ä¾¿è·ä»å解éç話ï¼ç´å»ºè°éæ¯ä½¿ç¨ä¸ä¸åãåæ³ç é¼ãçæ¹å¼ã
# ç¨TF-IDFæ¼ç®æ³ï¼å°æ¾top 100 ééµå
keywords_top=jieba.analyse.extract_tags(allstr, # åè©
topK=100, # åå¹¾å
withWeight=True) # æ¯å¦è¦è¨ç®åæ¸
éåè¨ç®çæ¹å¼é常簡å®ï¼ç´æ¥è¨ç®æ¯ååè©åºç¾çã次æ¸ãï¼å æ¤ç´è§ä¸å¾å¥½ç解ï¼ä½ç¼ºé»å°±æ¯ç¼ºä¹å·è¡æçï¼èä¸é常æé«é »ççééµåé½æ¯ãçãããä½ ãããæãããä»ãçççç¡æ義ééµä¸ã
words = jieba.cut(allstr)
df_words = pd.DataFrame(list(words))
df_value_counts = df_words.value_counts()
for i in range(100):
print(df_value_counts.index[i])
å¨åæçéç¨ä¸ï¼æåºç¾è¨±å¤ä»¤æ¨å°æçééµåï¼æäºæ¯ä¸ç¥ééåè©æ¯ç麼ææï¼æäºåæ¯å¥½å¥éåè©æ麼æåºç¾å¨æç« ä¸çé »çé£éº¼é«ï¼èæ³è¦å»çåæãé裡寫äºä»¥ä¸çç¨å¼ï¼åªè¦è¨å®æ³æ¥è©¢çééµåå¨è®æ¸ findwordä¸ï¼å°±æ顯示åºææ該ééµåçåå¾å50ååã
# è§çåå§è³æ
import re
findword = 'UQ'
for m in re.finditer(findword, allstr): #é²è¡è³ææ¯å°
print(
allstr[m.start()-50 : m.start()] + # ééµåçå50åå
'ã'+findword+'ã' + # ééµåæ¬èº«
allstr[m.start()+len(findword): m.start()+50]+'\n' # ééµåçå¾50åå
)
作者:楊超霆 行銷搬進大程式 創辦人