1. 程式人生 > >Python爬取王者榮耀手遊中的遊戲英雄角色

Python爬取王者榮耀手遊中的遊戲英雄角色

    王者榮耀相信大家都很熟悉的了,我就不多介紹了,臨近畢業又是組團開黑的高峰,去年接觸了這一款遊戲,平時閒暇時間沒事喜歡玩兩局,不知不覺王者峽谷內已經誕生了眾多的英雄角色,也有很多王者榮耀助手之類的軟體來提供遊戲操作攻略,今天想花一點時間來探索一些峽谷內的英雄們,簡單當做練手了。

    下面是具體實現:

#!usr/bin/env python
#encoding:utf-8

import urllib2
import urllib
from urllib import *
import requests
import os
import chardet
import sys 
reload(sys) 
sys.setdefaultencoding('utf-8')

'''
__Author__:沂水寒城
功能:下載王者榮耀英雄和裝備圖片
'''


def download_wzry_heros(url_path,page_header,hero_path):
    '''
    下載王者榮耀手遊中的遊戲英雄角色圖片
    '''
    content=requests.get(url=url_path,headers=page_header).json()['list']
    if not os.path.exists(hero_path):
        try:
            os.mkdir(hero_path)
        except:
            os.makedirs(hero_path)
    for i in range(len(content)):
        one_hero=content[i]
        print 'DownLoading {0}th hero,name is: {1}'.format(i,one_hero['name'].decode('utf-8').encode('GB2312'))
        urlretrieve(url=one_hero['cover'],filename=hero_path+'/'+one_hero['name']+'.png')

     結果如下:

    

    

    開啟本地目錄,可以看到結果檔案:

    

    出現的問題:

    最開始獲取html內容使用的方法是:

content=eval(urlopen(url_path).read())['list']

    後來報錯host未指定,這裡採用人工設定headers的方式,具體設定方式為:

    1.開啟Chrome瀏覽器輸入:chrome://version/  回車

     2.複製使用者代理裡面的內容儲存到‘User-Agent’中來建立headers資料字典即可