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. 資料分析實戰-天氣預報圖像化|一張圖巧妙躲過雨季
è¿å¹´ä¾ç¶²ç«å端ççæ å¤§å¹ æ¹è®ï¼èªå¾FaceBookèèµ·ï¼åæ 網ç«ä¹é¨ä¹èèµ·ï¼å¸¸è¦çåæ 網ç«æFaceBookãDcardãIGãYoutubeççãå¯ä»¥èªªç¾å¨ç¥åç社群平å°é½æ¯ç¨åæ çæ¹å¼åè¨è¨ï¼é樣ç好èæ¯å¯ä»¥è®ä½¿ç¨è ä¸æ·å°å¨ç¶²é å §ç覽ï¼ä½éå°æ¼ç¶²è·¯ç¬è²ä¾èªªï¼å°±ç¸ç¶çéº»ç ©ï¼æ©æçç¬è²é½æ¯ä¸æ¬¡æ§å°è¼å ¥ç¶²é å §çææç¨å¼ç¢¼ï¼ä½ç¶è®æåæ æï¼ä¸å®è¦æ»¾è¼ªæ»¾å°åºææ觸ç¼æ°çè³æè¿ä¾ï¼å°è´ç¬è²æ²æ辦æ³ç¬å°ã
åå¸ Seleniumç¬è²å¯ä»¥è§£æ±ºåæ 網ç«çç¬è²åé¡ï¼ç°¡å®ä¾èªªå°±æ¯æ¨¡æ¬ä½¿ç¨è å¨ç覽網é çè¡çºï¼å æ¤ä¹è½å¤ èç±ä¸äºèª¿æ´ä¾å½è£æç人ã以ä¸æ¯å¨ãIGå¢ç²æ©å¨äººï½è¿½è¹¤è«åå ¶å¦çå¢å å¦ï¼ã課ç¨ä¸ä½¿ç¨Seleniumç¬è²ç實ä½ï¼å¯ä»¥çå°ç¶²é ä¸é 人ä¾æ§å¶ï¼èªåçé»ææéã
èªå¾Seleniumåç´å°4以å¾ï¼ç°å¢çé¨åä¹å¯ä»¥èªåä¸è¼ï¼å æ¤ä»¥ä¸å ©åæéçç°å¢æªæ¡ä¹ä¸ä¸å®è¦ä¸è¼ï¼ä½è¥æ¯4ä¹åççæ¬ï¼ä»éè¦ä½¿ç¨ä»¥ä¸å ©åæªæ¡ãæ¬æç« ä¹ä¾ç §æ°çSelenium 4é²è¡ä»ç´¹ï¼å æ¤ä»¥ä¸ç¨å¼ç¢¼ççºSelenium 4æ使ç¨ã
phantomjsæ¯Seleniumçæ§å¶å¨ï¼çæ¼æ¯å°pythonç¨å¼ç¢¼è®ææ©å¨äººçå·¥å ·ãSeleniumä¹æ以è½ç¬å°è¨±å¤ç¬è²ç¬ä¸å°ç網ç«ï¼å°±æ¯å çºSeleniumæ¯æ¨¡ä»¿äººçè¡çºï¼ççæéä¸åç覽å¨ï¼ä¸åå³çµ±çç¬è²ï¼ç´æ¥è«æ±å°å ä¸ä¾è§£æãç¶ç¶éåææ缺é»Seleniumçå·è¡æçç¸å°å°±å·®å¾å¤ï¼ä½é¢å°IGé種ãåæ å¼ãç網ç«ï¼å¿ é è¦ç¨Seleniumæè½éçå°ã
phantomjs å¯ä»¥å°ãDownload PhantomJSãä¸ä¸è¼ï¼ä¾ç §èªå·±çä½æ¥ç³»çµ±é²è¡é¸æå³å¯ãä¸å系統ï¼å示å¯è½æä¸å¤ªä¸æ¨£ï¼ä½ä¸å½±é¿åè½ï¼è®è ä¸å¿ é度æå¿ã
åå¸ Selenium é常æé åchromedriverå·¥å ·ï¼chromedriveræ¯å°é給ç¨å¼æ§å¶çç覽å¨ãå æ¤å¯¦ä½æï¼ç¨å¼æ幫æ¨éåä¸åchromeç覽å¨ï¼ä¸¦ä¸æç §ç¨å¼èªåææéï¼ç¶ç¶ä¹å¯ä»¥äººå·¥ä»å ¥æä½ãç±æ¼chromedriveréè¦é åæ¨èªå·±çGoogle Chromeçæ¬ï¼è¥ä¸ç¥éæ麼æ¥è©¢èªå·±çGoogle Chromeçæ¬ï¼å¯ä»¥é»ã Google Chromeçæ¬æ¥è©¢ãï¼è£¡é¢æåè¨´ä½ æ該è¦ä¸è¼åªåçæ¬ï¼ç¢ºå®å¾å³å¯é»ä¸æ¹é¸æä¸è¼æªæ¡ã
æ ¹ææ¨ç±¤çIDä¾é²è¡ç¬è²ã
htmlç¯ä¾ï¼
<div id='test'>éåæ¯ç¯ä¾</div>
pythonç¯ä¾ï¼
driver.find_element(by=By.ID, value='test')
æ ¹ææ¨ç±¤çnameä¾é²è¡ç¬è²ã
htmlç¯ä¾ï¼
<div name='test'>éåæ¯ç¯ä¾</div>
pythonç¯ä¾ï¼
driver.find_element(by=By.NAME, value='nameå稱')
æ ¹æ該æ¨ç±¤æ顯示çæåä¾é²è¡ç¬è²ã
htmlç¯ä¾ï¼
<div>éåæ¯ç¯ä¾</div>
pythonç¯ä¾ï¼
driver.find_element(by=By.LINK_TEXT , value='éåæ¯ç¯ä¾')
ééæ¨ç±¤é²è¡ç¬è²ã
htmlç¯ä¾ï¼
<h1>éåæ¯ç¯ä¾</h1>
pythonç¯ä¾ï¼
driver.find_element(by=By.TAG_NAME , value='h1')
æ ¹æstyleé²è¡ç¬è²ã
htmlç¯ä¾ï¼
<div class='test'>éåæ¯ç¯ä¾</div>
pythonç¯ä¾ï¼
driver.find_element(by=By.CSS_SELECTOR , value='div.test')
ä¾ç §ç¶²é å端ç¨å¼ç¢¼é²è¡ç¬è²ï¼è¥æ寫é網é å端ï¼è¼å®¹æäºè§£æ¤æ¹æ³ã
htmlç¯ä¾ï¼
<div class='test'>
<div>
<p>éæ¯ç¬¬ä¸æ®µæå</p>
</div>
</div>
pythonç¯ä¾ï¼
driver.find_element(by=By.XPATH , value='//div[@class="test"]/div/p')
æ ¹æclassä¾é²è¡ç¬è²ï¼å çºclasså¨ç¶²é è¨è¨ä¸ä¸¦éå¯ç¨ï¼å æ¤å¸¸å¸¸æç¬å°åå¾è³æã
htmlç¯ä¾ï¼
<div class='test'>éåæ¯ç¯ä¾</div>
pythonç¯ä¾ï¼
driver.find_element(by=By.CLASS_NAME, value='test')
äºè§£äºSelenium以å¾ï¼æåå°±æ¥ä¸ä¾ãSeleniumç°å¢è¨å®è測試ã課ç¨ï¼éå§é²è¡Selenium實ä½å§ï¼
作者:楊超霆 行銷搬進大程式 創辦人