您好,登錄后才能下訂單哦!
今天給大家分享三個極實用的Python爬蟲案例。
1、爬取網(wǎng)站美圖
爬取圖片是最常見的爬蟲入門項目,不復雜卻能很好地熟悉Python語法、掌握爬蟲思路。當然有兩個點要注意:一、不要侵犯版權,二、要注意營養(yǎng)。
思路流程
第一步:獲取網(wǎng)址的response,分頁內(nèi)容,解析后提取圖集的地址。
第二步:獲取網(wǎng)址的response,圖集分頁,解析后提取圖片的下載地址。
第三步:下載圖片(也就是獲取二進制內(nèi)容,然后在本地復刻一份)。
部分代碼
運行結果
2、爬取微博數(shù)據(jù)
爬蟲的最大功能之一就是整合數(shù)據(jù),能弄到更全面的信息,真正做好大數(shù)據(jù)的分析,在這個數(shù)據(jù)說話的年代,影響是決定性的。(注意別侵權)
思路流程
1、利用chrome瀏覽器,獲取自己的cookie。
2、獲取你要爬取的用戶的微博User_id
3、將獲得的兩項內(nèi)容填入到weibo.py中,替換代碼中的YOUR_USER_ID和#YOUR_COOKIE,運行代碼。
部分代碼
用wordcloud等軟件生成詞云,它會根據(jù)信息的頻率、權重按比列顯示關鍵字的字體大小。
3、爬取王者榮耀全套皮膚
怎么獲取全套皮膚?用錢買,或者用爬蟲爬取下來~雖然后者不能穿。這個案例稍微復雜一點,但是一個非常值得學習的項目。
思路流程
首先進入所有英雄列表,你會看到下圖
在這個網(wǎng)頁中包含了所有的英雄名稱。點擊其中一個英雄例如“百里守約”,進去后如下圖:
△網(wǎng)址為https://pvp.qq.com/web201605/herodetail/196.shtml
網(wǎng)址中196.shtml以前的字符都是不變的,變化的只是196.shtml。而196是“百里守約”所對應的數(shù)字,要想爬取圖片就應該進入每個英雄圖片所在的網(wǎng)址,而網(wǎng)址的關鍵就是對應的數(shù)字。那么這些數(shù)字怎么找呢?
在所有英雄列表中,打開瀏覽器的開發(fā)者工具,刷新,找到一個json格式的文件,如圖所示:
這時就會看到所有英雄對應的數(shù)字了。在上圖所示的Headers中可以找到該json文件對應的網(wǎng)址形式。將其導入Python,把這些數(shù)字提取出來,然后模擬出所有英雄的網(wǎng)址即可
小節(jié)代碼:
下載圖片
現(xiàn)在可以進入所有英雄的網(wǎng)址并爬取網(wǎng)址下的圖片了。進入一個英雄的網(wǎng)址,打開開發(fā)者工具,在NetWork下刷新并找到英雄的皮膚圖片。如圖所示:
然后在Headers中查看該圖片的網(wǎng)址。會發(fā)現(xiàn)皮膚圖片是有規(guī)律的。我們可以用這樣的方式來模擬圖片網(wǎng)址
http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'+str(v)+'/'+str(v)+'-bigskin-'+str(u)+'.jpg?,
在該網(wǎng)址中只有str(v)與str(u)是改變的(str( )是Python中的一個函數(shù)),str(v)是英雄對應的數(shù)字,str(u)只是圖片編號,例如第一個圖片就是1,第二個就是2,第三個……而一個英雄的皮膚應該不會超過12個(可以將這個值調到20等)。接著就是下載了。
下載代碼:
執(zhí)行完上面的代碼后只需要執(zhí)行main函數(shù)就行了
爬取下來的圖片是這樣,每個文件夾里面是該英雄對應的圖片,如下圖:
人生苦短,Python當歌!學習,其實是一個堅持、分享、交流、提高的過程。學會交流,不懂就問,與更多優(yōu)秀的人一起成長,學習效果也會更加顯著。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。