二日前、私はLOL、私は非常に興味深い感じのpython皮膚の写真で降りるために私のクラスメートを見て、私が試してみたいと英雄の王と皮膚画像の上昇の栄光を登ることにしました。
まず、私たちは、王の公式ウェブサイトを見つけるhttp://pvp.qq.com/web201605/herolist.shtmlを、私たちはその中のすべての英雄の王を見つけることができます。
その後、単に抗登るのメカニズムがあるかどうかを確認するために構造を分析。
そして、全ての英雄番号、名前、および皮膚がでherolist.jsonと呼ばれるファイルに格納されていることがわかったが、私は、このファイルを開いてデータへのオンラインアクセスした後、記号の未知の意味の束があるが、これは私たちが続けるには影響しません。
次は、アドレスの皮膚で見つかった主人公の詳細ページへクリックと同じ形式であります
私たちは、次の私たちは、コードを書き始めるつもりだ、律法の1つを見つけます。
完全なコードは次のとおりです。
インポート要求 輸入JSON 輸入OS インポート時 スタート= time.time() URL = requests.get( 'http://pvp.qq.com/web201605/js/herolist.json').content jsonFile = json.loads(URL)#提取JSON X = 0#カウンタは、ダウンロードした画像の数を記録します #ディレクトリを作成します。 hero_dir = 'D:\ wzry \ wzry' そうでない場合はos.path.exists(hero_dir): os.mkdir(hero_dir) 試してください:#は、単純な例外処理コードが実行時にエラーを防ぐためである使用 範囲のmについて((jsonFile)でlen - 1): ENAME = jsonFile [M] [ 'ENAME']#番号 CNAME = jsonFile [M] [ 'CNAME']#名ヒーロー skinName = jsonFile [M] [ 'SKIN_NAME']スプリット( '|')。 肌番号= lenは(スキン名) #画像をダウンロードして、画像のURL構造 範囲内bigskin(1、skinNumber + 1): urlPicture = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + STR(ENAME)+ '/' + STR( ENAME)+ '-bigskin-' + STR(bigskin)+ '.JPG' 絵= requests.get(urlPicture).content#GET絵のバイナリ情報 オープンと(hero_dir + CNAME + " - " + skinName [bigskin - 1] + '.JPG'、 'WB')Fとして:画像保存# f.write(写真) X = X + 1 印刷(+ STR "最初のダウンロード"(X)+ "写真") 例外を除きます: 印刷() 他: 印刷()
ここに私の業績であります