1. 程式人生 > >推薦幾個適合新人上手的Python專案

推薦幾個適合新人上手的Python專案

640?wx_fmt=jpeg

溫馨提示:文末有福利

人生苦短,我用Python!

Python的前景光明不許要過多贅述了,那麼作為新人如何快速上手這門語言呢?廢話不多說,今天給大家分享三個極實用的Python爬蟲案例。

1

爬取網站美圖

爬取圖片是最常見的爬蟲入門專案,不復雜卻能很好地熟悉Python語法、掌握爬蟲思路。當然有兩個點要注意:一、不要侵犯版權,二、要注意營養。

♦思路流程

第一步:獲取網址的response,分頁內容,解析後提取圖集的地址。

第二步:獲取網址的response,圖集分頁,解析後提取圖片的下載地址。

第三步:下載圖片(也就是獲取二進位制內容,然後在本地復刻一份)。

♦部分程式碼

640?wx_fmt=png

♦執行結果

640?wx_fmt=jpeg

2

爬取微博資料

爬蟲的最大功能之一就是整合資料,能弄到更全面的資訊,真正做好大資料的分析,在這個資料說話的年代,影響是決定性的。(注意別侵權)

♦思路流程

1、利用chrome瀏覽器,獲取自己的cookie。

2、獲取你要爬取的使用者的微博User_id

3、將獲得的兩項內容填入到weibo.py中,替換程式碼中的YOUR_USER_ID和#YOUR_COOKIE,執行程式碼。

♦部分程式碼

640?wx_fmt=png

用wordcloud等軟體生成詞雲,它會根據資訊的頻率、權重按比列顯示關鍵字的字型大小。

640?wx_fmt=jpeg

3

爬取王者榮耀全套面板

怎麼獲取全套面板?用錢買,或者用爬蟲爬取下來~雖然後者不能穿。這個案例稍微複雜一點,但是一個非常值得學習的專案。

♦思路流程

首先進入所有英雄列表,你會看到下圖

640?wx_fmt=jpeg

在這個網頁中包含了所有的英雄名稱。點選其中一個英雄例如“百里守約”,進去後如下圖:

640?wx_fmt=jpeg

△網址為https://pvp.qq.com/web201605/herodetail/196.shtml

網址中196.shtml以前的字元都是不變的,變化的只是196.shtml。而196是“百里守約”所對應的數字,要想爬取圖片就應該進入每個英雄圖片所在的網址,而網址的關鍵就是對應的數字。那麼這些數字怎麼找呢?

在所有英雄列表中,開啟瀏覽器的開發者工具,重新整理,找到一個json格式的檔案,如圖所示:

640?wx_fmt=jpeg

這時就會看到所有英雄對應的數字了。在上圖所示的Headers中可以找到該json檔案對應的網址形式。將其匯入Python,把這些數字提取出來,然後模擬出所有英雄的網址即可

♦小節程式碼:

#爬取王者榮耀英雄圖片

#匯入所需模組

importrequests

importre

importos

#匯入json檔案(裡面有所有英雄的名字及數字)

url='http://pvp.qq.com/web201605/js/herolist.json' #英雄的名字json

head={'User-Agent':'換成你自己的head'}

html = requests.get(url,headers = head)

html=requests.get(url)

html_json=html.json()

#提取英雄名字和數字

hero_name=list(map(lambda x:x['cname'],html_json))#名字

hero_number=list(map(lambda x:x['ename'],html_json))#數字

♦下載圖片

現在可以進入所有英雄的網址並爬取網址下的圖片了。進入一個英雄的網址,開啟開發者工具,在NetWork下重新整理並找到英雄的面板圖片。如圖所示:

640?wx_fmt=jpeg

然後在Headers中檢視該圖片的網址。會發現面板圖片是有規律的。我們可以用這樣的方式來模擬圖片網址

'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'+str(v)+'/'+str(v)+'-bigskin-'+str(u)+'.jpg',

在該網址中只有str(v)與str(u)是改變的(str( )是Python中的一個函式),str(v)是英雄對應的數字,str(u)只是圖片編號,例如第一個圖片就是1,第二個就是2,第三個……而一個英雄的面板應該不會超過12個(可以將這個值調到20等)。接著就是下載了。

♦下載程式碼:

640?wx_fmt=jpeg640?wx_fmt=jpeg

執行完上面的程式碼後只需要執行main函式就行了

640?wx_fmt=jpeg

爬取下來的圖片是這樣,每個資料夾裡面是該英雄對應的圖片,如下圖:

640?wx_fmt=jpeg

人生苦短,Python當歌!學習,其實是一個堅持、分享、交流、提高的過程。學會交流,不懂就問,與更多優秀的人一起成長,學習效果也會更加顯著。那麼最後給大家推薦一個Python技術交流群

640?wx_fmt=jpeg

進群即可免費領取王者榮耀助手開發、PY遊戲開發案例、搜圖引擎開發專案,及更多web、爬蟲等技術等新手學習資料。

我們旨在為Python學習者提供一個交流學習的平臺。讓初學者在實戰中就能夠學習到Python語言的知識,讓學習變得更有意思和趣味。

點選連結加入群聊【人生苦短,我用Python】