文章目錄
- Python爬蟲——王者榮耀全皮膚拉取
- 資源地址
- HeroScrapy.py
- 運行上面的代碼即可
- 注意點
Python爬蟲——王者榮耀全皮膚拉取
開門見山,話不多說
資源地址
英雄信息列表:http://pvp.qq.com/web201605/js/herolist.json
皮膚前綴地址:http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info
HeroScrapy.py
import
requests
import
os
# 英雄信息列表
hero_url
=
'http://pvp.qq.com/web201605/js/herolist.json'
# 英雄的皮膚前綴地址
skin_url_perfix
=
'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'
# 當前文件的絕對路徑
abs_path
=
os
.
path
.
abspath
(
'.'
)
# 獲取所有英雄信息
head
=
{
'User-Agent'
:
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36'
}
response
=
requests
.
get
(
hero_url
,
headers
=
head
)
hero_list
=
response
.
json
(
)
# 循環每個英雄
for
i
in
range
(
len
(
hero_list
)
)
:
if
"ename"
in
hero_list
[
i
]
and
"cname"
in
hero_list
[
i
]
and
"skin_name"
in
hero_list
[
i
]
:
ename
=
hero_list
[
i
]
[
'ename'
]
# 英雄編號
cname
=
hero_list
[
i
]
[
'cname'
]
# 英雄名
skin_name
=
hero_list
[
i
]
[
'skin_name'
]
.
split
(
'|'
)
# 該英雄所有皮膚名
skinCount
=
len
(
skin_name
)
# 皮膚數量
print
(
str
(
cname
)
+
"的皮膚數量為:"
+
str
(
skinCount
)
)
# 循環下載每個皮膚
for
j
in
range
(
1
,
skinCount
+
1
)
:
skin_url
=
skin_url_perfix
+
str
(
ename
)
+
'/'
+
str
(
ename
)
+
'-bigskin-'
+
str
(
j
)
+
'.jpg'
skin_picture
=
requests
.
get
(
skin_url
)
.
content
# 創建文件路徑
fileDir
=
abs_path
+
"\\HeroSkins\\"
+
str
(
cname
)
+
"\\"
if
not
os
.
path
.
exists
(
fileDir
)
:
os
.
makedirs
(
fileDir
)
# 文件寫入
with
open
(
fileDir
+
skin_name
[
j
-
1
]
+
'.jpg'
,
'wb'
)
as
f
:
f
.
write
(
skin_picture
)
運行上面的代碼即可
拉取的圖片會放到代碼當前文件的目錄下
注意點
1.requests 模塊需要安裝
pip install requests
2.注意代碼的嚴謹性
if
"ename"
in
hero_list
[
i
]
and
"cname"
in
hero_list
[
i
]
and
"skin_name"
in
hero_list
[
i
]
:
這個是要判斷的,為啥?看下英雄信息列表:
存在部分英雄是沒有skin_name,不判空程序沒跑完就GG了
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
