python爬虫————获取英雄联盟所有皮肤原画

第一步先获取皮肤的url的地址:
在英雄联盟官网资料库中,随便打开一个英雄的详细信息页面查看源码在这里插入图片描述
可以看得到url是有规律的就是一个英雄的每个皮肤的的url都是https://game.gtimg.cn/images/lol/act/img/skin/big加上皮肤的编号再加上.jpg
这个皮肤编号是递增的。
https://game.gtimg.cn/images/lol/act/img/skin/big1000.jpg https://game.gtimg.cn/images/lol/act/img/skin/big1001.jpg https://game.gtimg.cn/images/lol/act/img/skin/big1002.jpg
这是一个英雄的再来看一个英雄
在这里插入图片描述
由此可看url变化的只有最后的数字而且换英雄后变化的是编号的第一个数字。安妮的是1奥拉夫是2由此可看这就是英雄编号。
现在只要循环数字就可以爬原画了,这个数字都是1001,2001,都是英雄编号加上001往上加就可以了。然后就就是每个英雄的皮肤个数都是不一样的而且在奥拉夫的skt-1的的那个皮肤是015直接从006跳到这了,为了看看别的英雄是不是也这样,我又去看了别的英雄,这一看就又出事了。
在这里插入图片描述
发现皮肤编号没有大于30的但是这个金克斯的英雄编号就有点不对了,222
wtf什么情况英雄联盟不就146个英雄吗?
在经过看了几个英雄后我发现英雄编号并不是我想到是1-146,那么问题来了怎么弄到英雄编号。
天无绝人之路,我看到了~wangweijun大佬的博客:20行Python代码爬取王者荣耀全英雄皮肤
我看了之后也试着在英雄资料界面,打开F12调试台,通过抓取网络请求,看看会不会有那样的文件
在这里插入图片描述
真的有这么一个js文件而且不光是编号还有英雄名字

import os
import requests
import demjson

url="https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js"
resposne = requests.get(url)#获取英雄列表js文件
print(resposne.text)#查看英雄列表js文件
#获得{"hero":[{"heroId":"1","name":"\u9ed1\u6697\u4e4b\u5973","alias":"Annie","title":"\u5b89\u59ae","roles":["mage"],"isWeekFree":"0","attack":"2","defense":"3","magic":"10","difficulty":"6","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/1.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/1.ogg"},{"heroId":"2","name":"\u72c2\u6218\u58eb","alias":"Olaf","title":"\u5965\u62c9\u592b","roles":["fighter","tank"],"isWeekFree":"0","attack":"9","defense":"5","magic":"3","difficulty":"3","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/2.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/2.ogg"},{"heroId":"3","name":"\u6b63\u4e49\u5de8\u50cf","alias":"Galio","title":"\u52a0\u91cc\u5965","roles":["tank","mage"],"isWeekFree":"0","attack":"1","defense":"10","magic":"6","difficulty":"5","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/3.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/3.ogg"},{"heroId":"4","name":"\u5361\u724c\u5927\u5e08","alias":"TwistedFate","title":"\u5d14\u65af\u7279","roles":["mage"],"isWeekFree":"0","attack":"6","defense":"2","magic":"6","difficulty":"9","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/4.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/4.ogg"},{"heroId":"5","name":"\u5fb7\u90a6\u603b\u7ba1","alias":"XinZhao","title":"\u8d75\u4fe1","roles":["fighter","assassin"],"isWeekFree":"0","attack":"8","defense":"6","magic":"3","difficulty":"2","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/5.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/5.ogg"},{"heroId":"6","name":"\u65e0\u754f\u6218\u8f66","alias":"Urgot","title":"\u5384\u52a0\u7279","roles":["fighter","tank"],"isWeekFree":"0","attack":"8","defense":"5","magic":"3","difficulty":"8","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/6.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/6.ogg"},{"heroId":"7","name":"\u8be1\u672f\u5996\u59ec","alias":"Leblanc","title":"\u4e50\u8299\u5170","roles":["assassin","mage"],"isWeekFree":"0","attack":"1","defense":"4","magic":"10","difficulty":"9","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/7.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/7.ogg"},{"heroId":"8","name":"\u7329\u7ea2\u6536\u5272\u8005","alias":"Vladimir","title":"\u5f17\u62c9\u57fa\u7c73\u5c14","roles":["mage"],"isWeekFree":"0","attack":"2","defense":"6","magic":"8","difficulty":"7","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/8.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/8.ogg"},{"heroId":"9","name":"\u672b\u65e5\u4f7f\u8005","alias":"FiddleSticks","title":"\u8d39\u5fb7\u63d0\u514b","roles":["mage","support"],"isWeekFree":"0","attack":"2","defense":"3","magic":"9","difficulty":"9","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/9.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/9.ogg"},{"heroId":"10","name":"\u6b63\u4e49\u5929\u4f7f","alias":"Kayle","title":"\u51ef\u5c14","roles":["fighter","support"],"isWeekFree":"0","attack":"6","defense":"6","magic":"7","difficulty":"7","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/10.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/10.ogg"},{"heroId":"11","name":"\u65e0\u6781\u5251\u5723","alias":"MasterYi","title":"\u6613","roles":["assassin","fighter"],"isWeekFree":"0","attack":"10","defense":"4","magic":"2","difficulty":"4","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/11.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/11.ogg"},{"heroId":"12","name":"\u725b\u5934\u914b\u957f","alias":"Alistar","title":"\u963f\u5229\u65af\u5854","roles":["tank","support"],"isWeekFree":"0","attack":"6","defense":"9","magic":"5","difficulty":"7","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/12.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/12.ogg"},{"heroId":"13","name":"\u7b26\u6587\u6cd5\u5e08","alias":"Ryze","title":"\u745e\u5179","roles":["mage","fighter"],"isWeekFree":"0","attack":"2","defense":"2","magic":"10","difficulty":"7","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/13.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/13.ogg"},{"heroId":"14","name":"\u4ea1\u7075\u6218\u795e","alias":"Sion","title":"\u8d5b\u6069","roles":["tank","fighter"],"isWeekFree":"0","attack":"5","defense":"9","magic":"3","difficulty":"5","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/14.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/14.ogg"},{"heroId":"15","name":"\u6218\u4e89\u5973\u795e","alias":"Sivir","title":"\u5e0c\u7ef4\u5c14","roles":["marksman"],"isWeekFree":"0","attack":"9","defense":"3","magic":"1","difficulty":"4","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/15.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/15.ogg"},{"heroId":"16","name":"\u4f17\u661f\u4e4b\u5b50","alias":"Soraka","title":"\u7d22\u62c9\u5361","roles":["support","mage"],"isWeekFree":"0","attack":"2","defense":"5","magic":"7","difficulty":"3","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/16.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/16.ogg"},{"heroId":"17","name":"\u8fc5\u6377\u65a5\u5019","alias":"Teemo","title":"\u63d0\u83ab","roles":["marksman","assassin"],"isWeekFree":"0","attack":"5","defense":"3","magic":"7","difficulty":"6","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/17.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/17.ogg"},{"heroId":"18","name":"\u9ea6\u6797\u70ae\u624b","alias":"Tristana","title":"\u5d14\u4e1d\u5854\u5a1c","roles":["marksman","assassin"],"isWeekFree":"0","attack":"9","defense":"3","magic":"5","difficulty":"4","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/18.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/18.ogg"},{"heroId":"19","name":"\u7956\u5b89\u6012\u517d","alias":"Warwick","title":"\u6c83\u91cc\u514b","roles":["fighter","tank"],"isWeekFree":"0","attack":"9","defense":"5","magic":"3","difficulty":"3","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/19.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/19.ogg"},{"heroId":"20","name":"\u96ea\u539f\u53cc\u5b50","alias":"Nunu","title":"\u52aa\u52aa\u548c\u5a01\u6717\u666e","roles":["tank","fighter"],"isWeekFree":"0","attack":"4","defense":"6","magic":"7","difficulty":"4","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/20.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/20.ogg"},{"heroId":"21","name":"\u8d4f\u91d1\u730e\u4eba","alias":"MissFortune","title":"\u5384\u8fd0\u5c0f\u59d0","roles":["marksman"],"isWeekFree":"0","attack":"8","defense":"2","magic":"5","difficulty":"1","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/21.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/21.ogg"},{"heroId":"22","name":"\u5bd2\u51b0\u5c04\u624b","alias":"Ashe","title":"\u827e\u5e0c","roles":["marksman","support"],"isWeekFree":"0","attack":"7","defense":"3","magic":"2","difficulty":"4","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/22.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/22.ogg"},{"heroId":"23","name":"\u86ee\u65cf\u4e4b\u738b","alias":"Tryndamere","title":"\u6cf0\u8fbe\u7c73\u5c14","roles":["fighter","assassin"],"isWeekFree":"0","attack":"10","defense":"5","magic":"2","difficulty":"5","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/23.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/23.ogg"},{"heroId":"24","name":"\u6b66\u5668\u5927\u5e08","alias":"Jax","title":"\u8d3e\u514b\u65af","roles":["fighter","assassin"],"isWeekFree":"0","attack":"7","defense":"5","magic":"7","difficulty":"5","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/24.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/24.ogg"},{"heroId":"25","name":"\u5815\u843d\u5929\u4f7f","alias":"Morgana","title":"\u83ab\u7518\u5a1c","roles":["mage","support"],"isWeekFree":"0","attack":"1","defense":"6","magic":"8","difficulty":"1","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/25.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/25.ogg"},{"heroId":"26","name":"\u65f6\u5149\u5b88\u62a4\u8005","alias":"Zilean","title":"\u57fa\u5170","roles":["support","mage"],"isWeekFree":"0","attack":"2","defense":"5","magic":"8","difficulty":"6","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/26.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/26.ogg"},{"heroId":"27","name":"\u70bc\u91d1\u672f\u58eb","alias":"Singed","title":"\u8f9b\u5409\u5fb7","roles":["tank","fighter"],"isWeekFree":"0","attack":"4","defense":"8","magic":"7","difficulty":"5","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/27.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/27.ogg"},{"heroId":"28","name":"\u75db\u82e6\u4e4b\u62e5","alias":"Evelynn","title":"\u4f0a\u8299\u7433","roles":["assassin","mage"],"isWeekFree":"0","attack":"4","defense":"2","magic":"7","difficulty":"10","selectAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/choose\/28.ogg","banAudio":"https:\/\/game.gtimg.cn\/images\/lol\/act\/img\/vo\/ban\/28.ogg"},{"heroId":"29","name":"\u761f\u75ab\u4e4b\u6e90","alias":"Twitch","title":"\u56fe\u5947","roles":["marksman","assassin"],"isWeekFree":"0","attack":"9","defense":&
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Python 爬虫实现,用于从北京租房信息网站上爬取租房信息并将其导入到 Excel 文件中。 首先,我们需要安装以下 Python 库: - requests:用于发送 HTTP 请求和获取网页内容。 - Beautiful Soup:用于解析 HTML 和 XML 网页内容。 - openpyxl:用于操作 Excel 文件。 可以使用 pip 命令进行安装: ``` pip install requests beautifulsoup4 openpyxl ``` 接下来,我们需要编写 Python 代码: ```python import requests from bs4 import BeautifulSoup from openpyxl import Workbook # 发送 HTTP 请求并获取网页内容 url = 'https://bj.zu.anjuke.com/fangyuan/p1/' response = requests.get(url) html = response.text # 使用 Beautiful Soup 解析网页内容 soup = BeautifulSoup(html, 'html.parser') houses = soup.select('.zu-itemmod') # 创建 Excel 文件并添加表头 wb = Workbook() ws = wb.active ws.append(['标题', '链接', '小区', '面积', '租金']) # 遍历租房信息并将其添加到 Excel 文件中 for house in houses: title = house.select('.zu-info h3 a')[0].text.strip() link = house.select('.zu-info h3 a')[0]['href'] community = house.select('.details-item')[0].text.strip() area = house.select('.details-item')[1].text.strip() price = house.select('.zu-side strong')[0].text.strip() ws.append([title, link, community, area, price]) # 保存 Excel 文件 wb.save('beijing_rent.xlsx') ``` 该爬虫程序将会从北京租房信息网站的第一页开始爬取租房信息,包括标题、链接、小区、面积和租金,并将其添加到 Excel 文件中。你可以根据需要修改代码以实现更多功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值