如何爬取Ajax數(shù)據(jù))

如何爬取Ajax數(shù)據(jù)),針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

站在用戶的角度思考問題,與客戶深入溝通,找到交口網(wǎng)站設(shè)計與交口網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋交口地區(qū)。

關(guān)于Ajax:其實現(xiàn)在很多網(wǎng)頁不是一次加載完。而是邊瀏覽邊加載。像今日頭條中的圖片,看完加載的部分,再往下滑動,又加載出來一些圖片,而url并沒有變化,此時,頁面加載就是Ajax加載。他的原理同樣是發(fā)送請求,解析內(nèi)容,渲染頁面,但是他保證了頁面的不刷新,url不改變。但是頁面卻在更新數(shù)據(jù)。

1、分析Ajax

首先打開今日頭條的網(wǎng)頁,在搜索欄輸入街拍,切換到開發(fā)者模式(F12)

點擊XMR,因為Ajax在底層是實現(xiàn)了XmlHttpRequest對象,簡寫XMR,

所以在XMR下都是Ajax請求。

再次刷新下頁面,繼續(xù)往下滑,我們可以看到有一些請求:

如何爬取Ajax數(shù)據(jù))

分析一下Request URL,我們發(fā)現(xiàn)其中只有offset參數(shù)發(fā)生了改變。

其他的參數(shù)我們寫成一樣的就可以了。

這樣我們就可以構(gòu)造一個get_html()方法,實現(xiàn)獲取到頁面如下。

如何爬取Ajax數(shù)據(jù))

如果你前面的文章都看了,那么理解這個方法是沒有難度的。

2、找到圖片的地址

如何爬取Ajax數(shù)據(jù))

知道了圖片在哪里,我們就寫個get_image_url()方法,來獲取到圖片的連接。

如何爬取Ajax數(shù)據(jù))

這里說一下,json數(shù)據(jù)上一篇有講如何獲取值:數(shù)據(jù)的存儲(一)

3、下載圖片并分類保存實現(xiàn)

如何爬取Ajax數(shù)據(jù))

這里需要說一下:

os.chdir()是改變當(dāng)前的路徑,因為我用的是Notepad++,所以需要修改一下。

不然圖片會存在安裝Notepad++的位置。

os.path.exists()存在返回True,否則相反。

os.mkdir()是創(chuàng)建一個文件夾svse_image()方法

用md5加密實現(xiàn)圖片名不一樣

下載圖片在以前的文章也講過:python第二大神器requests

4、集中整合,實現(xiàn)多進(jìn)程下載即可

如何爬取Ajax數(shù)據(jù))

實現(xiàn)多進(jìn)程,需要導(dǎo)入Pool庫

from multiprocessing.pool import Pool

如果前面的文章都看了,這篇文章應(yīng)該沒有難度。重要的是了解Ajax的分析。如何去找。

最后上一下效果圖:

如何爬取Ajax數(shù)據(jù))

關(guān)于如何爬取Ajax數(shù)據(jù))問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

文章名稱:如何爬取Ajax數(shù)據(jù))
URL地址:http://muchs.cn/article46/jcppeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、響應(yīng)式網(wǎng)站定制網(wǎng)站、網(wǎng)站制作、域名注冊、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站