爬蟲方式總結(待補充)

2021-09-20 03:57:34 字數 802 閱讀 2911

這種情況下,頁面沒有ajax請求。我們只需要拿到返回的頁面用正則匹配找到我們需要的部分就好了。

需要注意的是:匹配的時候最好匹配某個電影的全部資訊(都包在乙個盒子裡,匹配這個盒子),不要每次匹配電影的某一項

比如第一次全文搜尋目的是拿到所有的主演,findall後是個列表 actor_list

第二次全文搜尋目的是拿到所有電影名稱,findall後也是個列表 title_list

我們再用迴圈拿到主演與電影的對應:

for i in range(10):

print(actor_list[i],title_list[i])

想一想,如果在拿主演時有一項(比如第一項)沒請求到,那不都會錯位了?

所以我們匹配時,一次就匹配下來這個電影整個的li標籤,裡面有當前這部電影的所有資訊,輸出主演與電影名稱就不會錯位了

這個情況的顯著特徵是,我們請求下來的頁面只有框架沒有我們需要的資訊,這就是ajax非同步載入了。

我們要找到ajax非同步載入的包介面,具體操作見

我麼你這次請求的ajax中的資料不再是簡單的幾個url的引數就能解決了,我們還要傳輸請求頭和請求體,而且,請求體的資料還可能被js動態變化著或者說加密,我們得找到他的加密方式,用python實現相同加密,將請求頭和請求體傳給ajax介面

操作見 

我們自己編寫的爬蟲**爬取資料時,爬下來的網頁顯示forbidden就可能是伺服器拒絕除瀏覽器外的訪問,這時就是需要加上請求頭中的user-agent就好了

多種排序方式 待補充

以 3,2,1,5,4 為例 框住的兩個數就是被比較的兩個數,小數要在左邊,大數要到右邊去。1 3,2 1,5,4 因為 3 2,所以 2 移動到 3 的左邊 2 2,3,1 5,4 因為 3 1,所以 1 移動到 3 的左邊 3 2,1,3,5 4 因為 3 5,所以不需要移動 4 2,1,3,5...

指標 待補充

將位址視為指定的量,將值視為派生量。指標 一種特殊型別的變數 用於儲存值的位址。指標名表示的是位址,運算子被稱為間接值或解除引用運算子,將其應用於指標,可以得到該位址處儲存的值。例,假設manly是乙個指標,manly表示的是乙個位址,manly表示儲存在該位址處的值。宣告和初始化 運算子兩遍的空格...

dinic 模板 待補充

include using namespace std define mk make pair define pus push back define mo 1005 vector d mo vector de mo int tag mo int dfs int node,int low,int n...