# 網路爬蟲 ``` 這是首次嘗試寫HackMD,最近剛好在自學網路爬蟲相關影片所以想藉由這樣的方式來幫助自己增加印象 ``` 1. 參考影片:https://www.youtube.com/watch?v=9Z9xKWfNo7k 2. 首先由於網路上的網頁架構大多是HTML的格式,所以需要用第三方套件來抓取資料,只需要在指令處輸入以下即可 ``` pip3 install beautifulsoup4 ``` 3. 我這次選用ptt的stock版來抓取資料,進到頁面後按右鍵可以觀看網頁原始碼,大致如下 ![](https://i.imgur.com/OXfeLAE.jpg) 4. 在抓取資料過程中不能直接很明白地寫出 print(data) 這類的要求,可能會被伺服器直接拒絕掉,所以我們要使用開發人員工具列然後看Network那列,重新整理網頁後可以看到有一行為user-agent可以看到我們在發送需求的作業系統為何 ![](https://i.imgur.com/l6mozE0.jpg) 5. 此時就能在程式中建立一個Request的物件,附加Headers的資訊 ``` requset=req.Request(url,headers={ "User-agent":"網址資訊" }) ``` 6. 後續在 url-open 中的要求更改為request而不是原先的open, 這樣才能藉由上述的User-agent來抓取資訊,抓到的會是網頁的原始碼 HTML格式 7. 接著我們就可以開始抓取資料,在抓取過程中我們能多觀察資料的結構及標籤,像是下圖中title被 div 及 a 包住 ![](https://i.imgur.com/MRUFwQJ.png) 8. 這時候我們就能用root中的find功能來抓取所需資料的標籤名稱 9. 若是要抓取整個網頁的某項特定資料也能使用find_all搭配迴圈來使用,如下圖 ![](https://i.imgur.com/hb5MmCw.png) ``` 這大概就是最簡單的爬蟲入門吧,下次想到再來更新了! ```