Scrapy學習筆記 3 深度優先和廣度優先演算法

2021-09-10 08:26:05 字數 846 閱讀 4895

1. **url捷信

2.深度優先演算法、廣度優先演算法及其實現

scrapy預設通過深度優先演算法實現

深度優先輸出:a、b、d、e、i、c、f、g、h(遞迴實現)

廣度優先輸出:a、b、c、d、e、f、g、h、i(佇列實現)

# 深度優先演算法實現

# 遞迴實現

def depth tree(tree_node):

if tree_node is not none:

print(tree_node._data)

if tree_node.left is not none:

return depth_tree(tree_node._left)

if tree_node._right is not none:

return depth_tree(tree_node._right)

# 廣度優先演算法實現

def level_queue(root):

# 利用佇列實現樹的廣度優先遍歷

if root is none:

return

my_queue =

node: root

while my_queue:

node = my_queue.pop(0)

print(node,elem)

if node.lchild is not none:

if node.rchild is not none:

深度優先搜尋筆記

深度優先搜尋按照深度優先的方式進行搜尋,通俗點就是 一條路走到黑 注意,這裡的搜尋不是指的我們平時在檔案或者網路上查詢的某些資訊,搜尋是一種窮舉的方式,把所以可行的方案都列舉出來,不斷去嘗試,直到找到問題的解。深度優先搜尋和遞迴的區別是 深度優先搜尋是一種演算法,注重的是思想 遞迴是一種基於程式語言...

Scrapy學習筆記

於網路 上圖就是整個scrapy的架構圖了,主要包括部分作用如下 scrapy執行流程 scrapy engine從spiders獲取初始的url,並將這些request交給scheduler進行排列。scrapy engine從scheduler獲取處理好的request。scrapy engin...

Scrapy學習筆記(三)

抓取 資訊 class youdailispider crawlspider name youdaili allowed domains youdaili.net start urls rules rule linkextractor allow r d d html callback parse ...