用Python爬取各Android市場應(yīng)用下載量(3分鐘學(xué)會)
就是這么簡單!
文章目錄
- 前言
- 設(shè)計(jì)一個(gè)函數(shù)
- 構(gòu)造要爬取的網(wǎng)址
- 確定要爬取的內(nèi)容的位置
- 構(gòu)建輸入和調(diào)用部分
- 程序完整代碼
0 前言
有時(shí)候,總有一些重復(fù)又瑣碎的工作,卻不得不做……
一個(gè)個(gè)統(tǒng)計(jì),也不是不行,但實(shí)在太累……
有沒有一個(gè)方法,5秒內(nèi)自動統(tǒng)計(jì)整理好呢?
今天教你一招,用 Python 爬取各個(gè)頁面的下載量,三分鐘學(xué)會,節(jié)省兩小時(shí)。
成果是這樣的:只需要輸入應(yīng)用名字,然后,就可以獲得各市場的下載量了。
想做出來的話,只需要這樣幾步:
1 設(shè)計(jì)一個(gè)函數(shù)
首先,我們需要定義一個(gè)爬蟲的函數(shù):
如果你是零基礎(chǔ)小白,還不明白什么是函數(shù)的話,下面是一些講解:
Python的函數(shù)主要有兩大部分:內(nèi)建函數(shù)和自定義函數(shù)。內(nèi)建函數(shù)就是Python本身固有的函數(shù),如print(),input(),而自定義函數(shù)是我們自己設(shè)計(jì)的,方便重復(fù)調(diào)用的代碼塊。
函數(shù)是這樣的結(jié)構(gòu):
需要注意的是,
- def和return是關(guān)鍵字,Python就是靠識別這些關(guān)鍵字來明白用戶的意圖。
- 在閉合括號后的冒號必不可少。
- 如果在IDE中冒號后回車,你會得到一個(gè)縮進(jìn),縮進(jìn)后面的語句被稱作語句塊,縮進(jìn)是為了表明語句和邏輯的從屬關(guān)系
2 構(gòu)造要爬取的網(wǎng)址
這個(gè)爬蟲需要爬取什么樣的網(wǎng)址呢?需要程序告訴它:
我們要爬的應(yīng)用下載量,在詳情頁上。而這個(gè)詳情頁是有規(guī)律可循的。
以應(yīng)用匯這個(gè)安卓市場為例,可以看到我們在搜索“網(wǎng)易云課堂”時(shí),網(wǎng)址是:
所以我們可以用 url+搜索內(nèi)容的方式來構(gòu)造供我們爬取的網(wǎng)址。
3 確定要爬取的內(nèi)容的位置
我們要爬取的是下載量,要把這個(gè)元素的位置在哪里告訴程序。
在Chrome瀏覽器中,在想爬取的內(nèi)容上點(diǎn)右鍵,選“檢查”。
接著在出現(xiàn)的檢查框中郵件選擇加深的部分,選擇copy中的copy selecter。
粘貼出來我們復(fù)制的部分:
我們稱之為CSS元素選擇器,通過它可以準(zhǔn)確定位到我們想要爬取的部分。
以上三步,我們已經(jīng)構(gòu)造出了一個(gè)函數(shù)的整體結(jié)構(gòu):
4 構(gòu)建輸入和調(diào)用部分
在這里我們使用input函數(shù),格式如下:
調(diào)用函數(shù)直接輸入函數(shù)名并且輸入?yún)?shù)就好,所以我們需要的是:
5 程序完整代碼
因?yàn)槲覀円瑫r(shí)抓取多個(gè)網(wǎng)站的結(jié)果,所以我們根據(jù)上文的例子自定義多個(gè)函數(shù)并統(tǒng)一調(diào)用。
現(xiàn)在,把你用30秒完成的數(shù)據(jù)日報(bào)發(fā)出去吧!