[toc=2]
## 問題1: 二維碼被水印擋住了, 課時15:scarpy的安裝和使用, 掃不出來怎么辦?
>[info] 這個確實是我的疏忽, 沒有提前考慮到水印的位置, 還好二維碼有30%的容錯率, 基本沒有問題, 但是課時15確實掃不出來, 現在已經更新了二維碼, 同時對被水印遮擋的二維碼, 又重新測試了一遍, 都沒有問題了.
## 問題2: 獲取淘寶數據的課程文檔(課時14: [實戰]爬取淘寶商品信息),NextPage方法下沒有代碼
>[info] 感謝"haoyuexihuai"同學的細心提醒, 在審核代碼文檔時, 一時疏忽, 現在已經補上
## 問題3: CSS屬性講錯了吧。src是路徑, 不是a里面href(課時3: css選擇器)
>[info] 感謝"ykt1516427141357"同學的細心提醒, 確實講錯了, 應該是href, 現在已經在視頻里增加了提示
## 問題4: 現在python3.6里面自動安裝的lxml不包括etree,有什么好的解決辦法?
>[info] 那就下載一個包含etree的[lxml版本](https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml)嘍.
## 問題5: 爬蟲為什么要使用etree, 如果不用etree, 有沒有其他方法, 如何比較方法間的優劣?
>[info] 一個一個回答你
#### 1. 為什么使用etree?
我們獲取了頁面代碼, 想從頁面代碼中獲取想要的數據, 可以使用`css選擇器`或者是`xpath`, 但是前提是, 我們需要先解析頁面代碼, 生成結構樹. 當然, 如果你直接用正則, 那沒啥說的, 正則只要寫的溜, 要啥有啥, 那就不用解析html頁面代碼了. etree只是解析html的一種手段, 當然可以有更多其他的選擇
#### 2. 如果不用etree, 有沒有其他方法
分兩種情況, 如果你在使用scrapy, 沒啥說的, 直接selector, 如果是使用beautifulsoup寫的原生爬蟲, 有如下選擇, 對比見表格.
#### 3. 方法對比
| 解析器 | 使用方法 | 優勢 | 劣勢 |
| --- | --- | --- | --- |
| Python標準庫 | BeautifulSoup(markup, “html.parser”)| Python的內置標準庫 執行速度適中 文檔容錯能力強| Python 2.7.3 or 3.2.2)前 的版本中文檔容錯能力差 |
| lxml HTML 解析器 | BeautifulSoup(markup, “lxml”) | 速度快 文檔容錯能力強 | 需要安裝C語言庫 |
| lxml XML 解析器| BeautifulSoup(markup, [“lxml”, “xml”]) BeautifulSoup(markup, “xml”) | 速度快 唯一支持XML的解析器| 需要安裝C語言庫 |
| html5lib | BeautifulSoup(markup, “html5lib”) | 最好的容錯性 以瀏覽器的方式解析文檔 生成HTML5格式的文檔 | 速度慢 不依賴外部擴展 |
- 打造高逼格接口管理平臺
- 開篇
- 課程簡介
- 聊聊接口平臺
- 接口平臺簡介
- 優雅的使用看云
- 接口和markdown
- 接口文檔版本演進
- 微軟的硬菜--vscode
- markdown基礎語法
- markdown進階語法--流程圖
- markdown進階語法--時序圖
- markdown進階語法--API文檔
- 接口文檔的基本概念
- 接口管理平臺的基本元素
- 編寫接口文檔并且發布更新
- 接口安全
- 文檔安全
- 接口安全
- Git化你的文檔
- 使用Git管理文檔
- 自動化
- 自動化文檔更新
- 收尾
- 如何反饋問題
- 課程總結
- 示例
- 更新信息
- 查詢歷史天氣
- markdown語法示例
- 流程圖示例
- 時序圖示例
- 登錄/注冊
- 數據字典示例
- 課程問題解答