js動態生成資料的抓取

2022-06-16 08:36:15 字數 2077 閱讀 6494

需求:爬取頁面中的新聞資料。

分析:1.首先通過分析頁面會發現該頁面中的新聞資料都是動態載入出來的,並且通過抓包工具抓取資料可以發現動態資料也不是ajax請求獲取的動態資料(因為沒有捕獲到ajax請求的資料報),那麼只剩下一種可能,該動態資料是js動態生成的。

2.通過抓包工具查詢到底資料是由哪個js請求產生的動態資料:開啟抓包工具,然後對首頁url(第一行需求中的url)發起請求,捕獲所有的請求資料報。

分析js資料報響應回來的資料:

- 獲取詳情頁中對應的新聞詳情資料:對詳情頁發起請求後,會發現詳情頁的新聞資料也是動態載入出來的,因此還是跟上述步驟一樣,在抓包工具中對詳情頁中的區域性資料進行搜尋,定位到指定的js資料報:

該js資料報的url為:

分析首頁中所有新聞的詳情頁url和新聞詳情資料對應的js資料報的url之間的關聯:

- 首頁中某一新聞詳情頁的url:           

5c39c314138da31babf0b16af5a55da4/e43e220633a65f9b6d8b53712cba9caa.html

- 該新聞詳情資料對應的js資料報的url:

5c39c314138da31babf0b16af5a55da4

/datae43e220633a65f9b6d8b53712cba9caa.js

- 所有的新聞詳情對應的js資料報的黃色選中部分都是一樣的只是紅色部分各自不同,但是紅色部分卻和該新聞詳情頁的url中的紅色部分是相同的!!!新聞詳情頁的url是可以在上述過程中解析出來的。因此現在就可以批量產生出詳情資料對應js資料報的url的,然後批量進行資料請求,獲取響應資料,然後對響應資料進行解析即可完成最終的需求!

需求:爬取頁面中的新聞資料。

分析:1.首先通過分析頁面會發現該頁面中的新聞資料都是動態載入出來的,並且通過抓包工具抓取資料可以發現動態資料也不是ajax請求獲取的動態資料(因為沒有捕獲到ajax請求的資料報),那麼只剩下一種可能,該動態資料是js動態生成的。

2.通過抓包工具查詢到底資料是由哪個js請求產生的動態資料:開啟抓包工具,然後對首頁url(第一行需求中的url)發起請求,捕獲所有的請求資料報。

分析js資料報響應回來的資料:

- 獲取詳情頁中對應的新聞詳情資料:對詳情頁發起請求後,會發現詳情頁的新聞資料也是動態載入出來的,因此還是跟上述步驟一樣,在抓包工具中對詳情頁中的區域性資料進行搜尋,定位到指定的js資料報:

該js資料報的url為:

分析首頁中所有新聞的詳情頁url和新聞詳情資料對應的js資料報的url之間的關聯:

- 首頁中某一新聞詳情頁的url:           

5c39c314138da31babf0b16af5a55da4/e43e220633a65f9b6d8b53712cba9caa.html

- 該新聞詳情資料對應的js資料報的url:

5c39c314138da31babf0b16af5a55da4

/datae43e220633a65f9b6d8b53712cba9caa.js

- 所有的新聞詳情對應的js資料報的黃色選中部分都是一樣的只是紅色部分各自不同,但是紅色部分卻和該新聞詳情頁的url中的紅色部分是相同的!!!新聞詳情頁的url是可以在上述過程中解析出來的。因此現在就可以批量產生出詳情資料對應js資料報的url的,然後批量進行資料請求,獲取響應資料,然後對響應資料進行解析即可完成最終的需求!

抓取js動態生成的資料分析案例

需求 爬取頁面中的新聞資料。分析 1.首先通過分析頁面會發現該頁面中的新聞資料都是動態載入出來的,並且通過抓包工具抓取資料可以發現動態資料也不是ajax請求獲取的動態資料 因為沒有捕獲到ajax請求的資料報 那麼只剩下一種可能,該動態資料是js動態生成的。2.通過抓包工具查詢到底資料是由哪個js請求...

動態生成陣列

動態生成一維陣列 quint32 count map nodecount qstring name new qstring count 動態生成name一維陣列,儲存點的名字 動態生成二維陣列 quint32 linkatrix linkatrix quint32 malloc sizeof qui...

根據Django Model動態生成資料表的方法

當定義好django model後,一般可以在初始化呼叫syncdb方法來自動在資料庫裡面生成相應的表。那麼如果想在後續階段想根據根據django model動態生成資料表,該怎麼辦呢?要生成資料庫表,就得先根據model的定義先生成sql語句,然後在資料庫裡面執行。並且由於要支援不同的資料庫,所生...