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. 資料分析實戰-天氣預報圖像化|一張圖巧妙躲過雨季
éæ²å¸éJsonç¬è²ï¼å ç¨Google趨å¢ç·´ç¿ä¸ä¸å§ï¼
å¨ä¸å®ãJsonç¬è²æå¸ï¼Google趨å¢æå°ã課ç¨ä»¥å¾ï¼æ¥èå°±ä¾å¯¦éç¬ä¸PChomeååè³æï¼é次çå¯äº¤ä»æææ¯ç¬ä¸ååååçååå稱ãååIDãå¹æ ¼ãåçãååææ¡çï¼å ¨é¨ç¬ä¸ä¾ã
è¦æ¾å°Jsonçå°å ï¼é¦å ä¾ç¶å¨ç¶²é ä¸æä¸ãF12ã並ä¸åä¸æ»åååé ï¼ä»¥åå¾ååçå°å ã ç¼ç¾éæ¯æåè¦çå°å å¾ï¼å°±å¯ä»¥å°å ¶æ¾å°Pythonç¨å¼ç¢¼ä¸ãç±æ¼å¨ç¶²åä¸ç¼ç¾q è®æ¸æ¯æ¾ç½®ååééµåï¼å æ¤å¯å©ç¨æ¤ç¹æ§ï¼è£½ä½åºåæ çååç¬è²ï¼ä¹å¾æ³æä»»ä½ä¸ç¨®ååï¼æè æ¯ç¨ç¨å¼ç¬ä¸ç³»ååååï¼é½å¯ä»¥ä½¿ç¨æ¤ç¹æ§ã
keyword = 'éæ«'
# è¦æåç網å
url = 'https://ecshweb.pchome.com.tw/search/v3.3/all/results?q='+keyword+'&page=1&sort=sale/dc'
ç¶ç± requests å¥ä»¶è«æ±å¾ï¼åå©ç¨ json.loads æ¹æ³ï¼å°å串ï¼strï¼å½¢å¼è½ææJsonåæ ã
#è«æ±ç¶²ç«
list_req = requests.get(url)
#å°æ´å網ç«çç¨å¼ç¢¼ç¬ä¸ä¾
getdata = json.loads(list_req.content)
ç±ä»¥ä¸ç¯ä¾ï¼äºè§£å¦ä½ç¬ä¸å®ä¸é é¢ï¼æ¥è¬ä¾ä¾¿å¯ä»¥ä½¿ç¨forè¿´åï¼èªåå·è¡æ¯ä¸é ååé é¢çç¬è²ãåè¨ç¬è²çé度ä¸è½å¤ªå¿«ï¼å æ¤å¨æ¯ä¸é ç¬è²çµæå¾ï¼ææä¸åäºç§çä¼æ¯ time.sleep(5) ï¼ç§æ¸çé¨åå¯ä»¥ä¾ç §æ æ³å調æ´ã
# èéå¤é çè³æï¼æå
æcsvæªæ¡
alldata = pd.DataFrame() # æºåä¸å容å¨
for i in range(1,10):
# è¦æåç網å
url = 'https://ecshweb.pchome.com.tw/search/v3.3/all/results?q='+keyword+'&page='+str(i)+'&sort=sale/dc'
#è«æ±ç¶²ç«
list_req = requests.get(url)
#å°æ´å網ç«çç¨å¼ç¢¼ç¬ä¸ä¾
getdata = json.loads(list_req.content)
todataFrame = pd.DataFrame(getdata['prods']) # è½æDataframeæ ¼å¼
alldata = pd.concat([alldata, todataFrame]) # å°çµæè£é²å®¹å¨
time.sleep(5) #æ延æé
æå¾å°ç¬ä¸ä¾çè³æé²è¡å²åã
# å²åæªæ¡
alldata.to_csv('PChome.csv', # å稱
encoding='utf-8-sig', # 編碼
index=False) # æ¯å¦ä¿çIndex
作者:楊超霆 行銷搬進大程式 創辦人