Python爬蟲實戰2 0

2021-08-22 13:28:20 字數 1267 閱讀 4018

這次實戰的內容是非同步載入:

非同步載入和普通的數字下表迭代的url不同的地方在於不能直接通過乙個for迴圈來獲取每乙個頁面的內容。

如何判別翻頁是否是非同步載入的呢?開啟瀏覽器檢查,然後定位到頁面內容的那部分html**,然後在瀏覽器按下翻頁按鈕,如果發現html**部分內容閃了一下,那麼說明網頁是通過非同步載入的。

爬取方法:

(以豌豆莢為例, 比如要爬取

通過上面的判斷依據,很容易可以發現是非同步載入。

1、到瀏覽器檢查中network選項中,篩選出xhr的內容

2、翻頁

圖中出現的唯一乙個檔案就是非同步載入內容的**。

這個url就是我們真正翻出來的頁面了,這個是可以在瀏覽器開啟的,不同的**非同步載入的網頁是不一樣的,所以在解析網頁的時候需要根據不同情況來制定不同的處理方案。

由於豌豆莢的反爬蟲機制,導致我的爬蟲只能爬到前兩頁的內容,不過沒關係,這次的實踐主題是應對非同步載入,從這個角度看,我還是很出色地完成了。

for page in range(0, 10000):

try:

url = url_mi_1 + str(page)+url_mi_2

print(url)

r = requests.get(url, headers=headers)

soup = beautifulsoup(r.text, 'html.parser')

# print(soup)

pattern = re.compile("displayname\":\"(.*?)\",\"icon\"")

finds = pattern.findall(str(soup))

print(finds)

if len(finds) != 0:

for find_ in finds:

f.write(find_+'\n')

print("----------page" + str(page) + " done!!----------")

except:

print("----------page" + str(page) + " fail!!----------")

page -= 1

python爬蟲實戰

python python基礎 python快速教程 python學習路線圖 python大資料學習之路 python爬蟲實戰 python pandas技巧系 量化小講堂 python機器學習入門資料梳理 學習群 大資料 python資料探勘2 323876621 r r語言知識體系 怎樣學習r ...

Python爬蟲實戰(二)

實驗介紹 本實驗通過使用beautifulsoup方法對網頁進行簡單的爬取工作,並對beatifulsoup方法進行簡單的介紹。beautifulsoup開發手冊 示例網頁如下 實驗內容 從本地網頁爬取商品資訊,商品名,評分等級等相關資訊 實驗 from bs4 import beautifulso...

Python文字爬蟲實戰

一 流程 1 獲取網頁原始碼 2 用python讀取原始碼 二 實現 1 原始碼獲取 文字爬蟲,是在已有的文字內容中爬取需要的資訊,這區別於網路爬蟲。由於被檢索的內容是現成的,因此,文字爬蟲又叫 半自動爬蟲 在本例中,我們以暱圖網首頁為目標 因此,我們先到暱圖網首頁,右鍵 檢視源 儲存原始碼到txt...