回覆列表
  • 1 # 使用者6112658023058

    寫一個爬蟲的步驟是

    1. 傳送 HTTP 請求

    2. 解析返回的資料

    3. 處理資料(儲存、展示等)

    既然是要入門,程式快速跑起來是最重要的。那麼就應該處理最簡單的情形,使用最簡單的工具來實現,掌握原理之後再考慮一步一步深入。

    1. 使用 Requests(Requests: HTTP for Humans)發請求

    Requests 使用很方便, urllib 和 urllib2 使用不方便,而且處理簡單的情形沒有必要使用 Scrapy。

    2. 使用 PyQuery(pyquery: a jquery-like library for python)解析資料

    PyQuery 使用的是 jQuery 風格的 API 來查詢資料,比 lxml 的 XPath 好太多。lxml 有兩個非常不方便的地方:

    a. 獲取資料的時候必須按照一層一層的方式,中間的層級不能跳,這對於巢狀的 HTML 程式碼來說很難用

    b. 如果一個元素不存在(比如某個電影條目沒有引用),我們通常期望處理成空字串 ""。XPath 會直接報錯,PyQuery 是處理成空字串""

    3. 把資料轉成 JSON 格式儲存在 data.json 檔案中

    Python 裡轉 JSON 格式並且寫檔案實在是太方便了,理解了這一步,儲存到資料庫中也不麻煩

    《Python for Informatics》這本書算是個不錯的選擇,前面花了比較多的章節介紹 Python 的基礎知識,後面資料方面的操作,比如資料抓取、資料展示。並且提供了原始碼,可以直接參考或者執行。

    掌握原理之後,可以開始考慮更加複雜的情形

    1. 不需要登入就可以看到的頁面,比如豆瓣和時光網的電影 top 榜單

    2. 需要登入才能看到的頁面,比如知乎

    3. 動態渲染的頁面,比如電商網站

    同時也會考慮使用複雜的工具(就是使用相應的框架),這些都可以在《Python網路資料採集 (豆瓣)》中找到答案。

    上面給出的是速成的方案,掌握了工具之後還應該掌握背後的原理。比如學習 HTTP、HTML 和 CSS、Python,這些看書就好了

    《圖解HTTP (豆瓣)》(當然《HTTP權威指南 (豆瓣)》是另一個選擇,厚很多,也詳細很多)

    《Head First HTML與CSS(第2版)》

    《jQuery基礎教程 (第4版)》(看前半部分就行)

    Python 語法的書選擇就多了,除了上面《Python for Informatics》這本,下面這些都是可以的,側重點有所不同,但是都可以很好地學習 Python 的語法

    《圖靈程式設計叢書 (豆瓣)》(入門基礎書)

    《Python學習手冊(第4版) (豆瓣)》(學習參考書,非常詳細)

    附上之前寫的爬蟲程式碼方法截圖

  • 中秋節和大豐收的關聯?
  • 如何進行映象安裝?