Chinese, Traditional subtitles

← 04-11 Finishing The Web Crawler

dummy description

Get Embed Code
6 Languages

Showing Revision 5 created 08/01/2014 by Fran Ontanaya.

  1. 讓我們回憶一下第二單位末尾的 crawl-web 程式碼
  2. 我們用了兩個變數,我們將 tocrawl 初始化為
    只包含種子頁面的列表
  3. 使用 tocrawl 來追蹤需要爬行的頁面
  4. 我們將 crawled 初始化為空列表,
    並且使用 crawled 來追蹤已找到的網頁
  5. 我們有個 loop ,只要有頁面需要爬行,就會繼續下去
  6. 我們會將 tocrawl 列表的最後一頁 pop 出來
  7. 如果它還未被爬行過,我們把所有在該頁面找到的 links,
    與 tocrawl 做聯集
  8. 之後,再將頁面加到 crawled 列表
  9. 現在我們要了解如何進行改變,不僅是找到所有 urls
  10. 還要建立我們自己的索引 (index)
  11. 我們瀏覽頁面的實際內容,將它加入我們的 index
  12. 因此第一個改變,就是更新 index 並改變傳回的結果
  13. 我們傳回的不是 crawled,而是 index
  14. 如果要對所有爬行過的 url 進行追蹤,
    仍得傳回 crawled,傳回 crawled 和 index
  15. 但為了簡單起見,這裡僅傳回 index
  16. 這是我們真正想對搜尋查詢 (search queries) 所做的回應
  17. 現在要作另一個改變,一個很重要的改變
  18. 我們要設法更新 index ,
    以反映爬行過的頁面裡找到的所有字組 (words)
  19. 這之前我要先作個改變
  20. 既然 get-all-links 和我們將字組加入 index 的工作
    都是根據網頁的內容
  21. 我們要引入一個新變數,將網頁內容儲存在變數裡
  22. 這樣就不用呼叫 get-page 兩次,呼叫這個程序並不划算
  23. 要取得網頁內容,需要做網路請求 (web request)
  24. 將它儲存在新變數中更加合理,並且可以簡化程式碼
  25. 現在我們只需傳入 content
  26. 這裡缺少一個陳述
  27. 我把這個問題留給大家,
    看看你是否能想出這個陳述,來完成網頁蜘蛛
  28. 完成後,crawl-web 的結果,傳回的 index
  29. 是從種子頁面開始尋找,所有內容的索引 (index)