1. 程式人生 > >2018-12-17-Python全棧開發-day99-scrapy原始碼

2018-12-17-Python全棧開發-day99-scrapy原始碼

基於twisted。

 

1.製作start_request,

  封裝url和callback(這個callback為parse),並且將start_request物件放入到佇列

  呼叫socket生成函式

2.socket生成函式

  從佇列中拿到物件,使用getpage生成socket進行訪問,將這個socket放入scrawlling,然後呼叫自定義callback

3.自定義callback

  將這個socket從正在爬取的列表scrawlling刪除

  將socket返回值傳給parse,

  得到parse的值,確認是否有request物件,如果有則進行處理:

      將request物件放入佇列

 

4.判斷結束條件

  正在爬取的列表為空且佇列中也為空時,callback=none