---
# System prepended metadata

title: web crawler 基礎認識
tags: [網路爬蟲, web crawler]

---

###### tags: `web crawler`,`網路爬蟲`
# web crawler 基礎認識

* 網路爬蟲（英語：web crawler），也叫網路蜘蛛（spider），是一種用來自動瀏覽全球資訊網的網路機器人。

**網路爬蟲+資料分析的用途:**
* 週期性地取得競爭者的資料
* 建立比價資訊
* 蒐集與分析趨勢的走向(銀行匯率、股市......)
* 購物車分析
* 大數據的取得與應用

**爬蟲相關技術之HTTP通訊協定**
* 網路爬蟲的對象通常是資料來源的伺服器
* 爬蟲者向Web伺服器送出HTTP請求，對方接受後將所需的網頁傳送給爬蟲者


![](https://i.imgur.com/A8hQuVY.png)

**工具的選擇**
* 靜態網頁:Requests+BeautifulSoup
* 動態網頁:Selenium+BeautifulSoup
* 整個網站:Scrapy

**步驟**
1. 使用HTTP通訊協定送出HTTP請求，取得網頁資料
2. 剖析HTML文件來定位擷取所需的網頁資料
3. 將取得的資料儲存成適當的資料形式

![](https://i.imgur.com/ubBkkM4.png)






**網頁定位的方式**

* HTML的標籤名稱
* HTML的CSS選擇器的[class]屬性
* HTML的CSS選擇器的[id]屬性
* XPath表達式
* 正規表達式
* 動態網頁

**網頁定位所用的模組**
* BeautifulSoup的find過濾器
    * 標籤名稱、id屬性、class屬性
* BeautifulSoup的select過濾器
    * 標籤名稱、id屬性、class屬性
* re
    * 正規表達式
* Selenium
    * XPath
    * 動態網頁

網頁定位的觀察方法
* 直接觀察HTML
* 使用瀏覽器的開發人員工具(F12)









