91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python異步加載怎么爬取圖片

發布時間:2021-11-25 09:13:51 來源:億速云 閱讀:276 作者:iii 欄目:大數據

這篇文章主要講解了“Python異步加載怎么爬取圖片”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python異步加載怎么爬取圖片”吧!

何為異步加載?

        想理解異步加載技術,先要知道傳統的網頁是如何加載的,首先,傳統的網頁更新內容需要對整個頁面進行刷新更新,資源浪費較大,但是現在常用的異步加載技術(AJAX:JavaScript和XML)指的就是一種交互式網頁應用技術,如沒有翻頁,一致下滑可以不斷更新網頁部分數據信息,同時當前網頁基礎框架和網址等信息都不變指的就是異步加載技術,大大的節約了網絡資源。

        還有一種判斷是否使用了異步加載的方法,就是通過查看數據是否在網頁源代碼中。

        使用了異步加載的網頁后,網頁中的內容在HTML中是找不到文本信息的,這時候通過常規三大爬取庫是抓不到信息的,因此需要逆向去尋找推導出來網頁是如何加載數據的過程,這個過程就叫做逆向工程。

如何實現逆向工程?

Python異步加載怎么爬取圖片

以Pexels網站為例,我們來看一下如何實現逆向工程:

  1. 打卡Chrome瀏覽器對應Pexels網站,右鍵檢查,打開網頁源代碼,選擇Network選項卡。

  2. 繼續手動下滑網頁,會發現XHR文件在不斷加載更新,通過上圖紅框可以發現在固定變化的URL

https://www.pexels.com/search/book/?format=js&seed=&page=2&type=

https://www.pexels.com/search/book/?format=js&seed=&page=3&type=

https://www.pexels.com/search/book/?format=js&seed=&page=4&type=

  1. 嘗試刪除上述URL中的部分,得到

https://www.pexels.com/search/book/? page=2發現也可以返回正常的網頁

Python異步加載怎么爬取圖片

        這樣就逆向推導出來了真實的網頁URL,也知道了網頁的變化規律,可以開始進行數據爬取了。

        由于Pexels圖片網站設置了比較嚴格的反扒機制,后續我們來講如何破解,我們用hippopx圖片網站來進行實踐練習,此網站也有大量精美免費無版權圖片,大家可嘗試看看。

詳細代碼如下:

import requestsfrom lxml import etreeimport osheaders={"accept": "xxxx","cookie": "xxxx","User-Agent": "xxxx","referer": "xxxx"}list=[]file='存儲路徑'url='https://www.hippopx.com/'html=requests.get(url,headers=headers)selector=etree.HTML(html.text)imgs=selector.xpath('//*[@id="flow"]/li/figure/a/img')for img in imgs:   photo=img.get('src')   list.append(photo)for item in list:   print(item)   data=requests.get(item,headers=headers)   fp= open(file+'/'+item.split('/')[-1],'wb')   fp.write(data.content)   fp.close()

運行結果如下:

Python異步加載怎么爬取圖片

存儲圖片如下:

Python異步加載怎么爬取圖片

感謝各位的閱讀,以上就是“Python異步加載怎么爬取圖片”的內容了,經過本文的學習后,相信大家對Python異步加載怎么爬取圖片這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

襄垣县| 衡东县| 信宜市| 东兴市| 吉林市| 屯留县| 嘉兴市| 长海县| 苏尼特右旗| 正定县| 吴忠市| 罗江县| 龙海市| 和政县| 封丘县| 洮南市| 兴城市| 江川县| 佛教| 兖州市| 连云港市| 察隅县| 蚌埠市| 上林县| 疏附县| 公主岭市| 池州市| 沂源县| 武城县| 天等县| 台南市| 罗江县| 甘洛县| 滕州市| 拜泉县| 扎兰屯市| 裕民县| 喜德县| 宜黄县| 长治县| 大理市|