爬虫,获取lol英雄名单。

发布于:2025-08-03 ⋅ 阅读:(15) ⋅ 点赞:(0)

获取lol英雄名单。

F:\work\2025\py\P1.venv\Scripts\python.exe F:\work\2025\py\P1\0801\pa.py
[‘雷克顿’, ‘奥莉安娜’, ‘亚托克斯’, ‘阿狸’, ‘阿卡丽’, ‘阿木木’, ‘艾尼维亚’, ‘安妮’, ‘艾希’, ‘布里茨’, ‘布兰德’, ‘凯特琳’, ‘卡西奥佩娅’, ‘科加斯’, ‘库奇’, ‘德莱厄斯’, ‘黛安娜’, ‘德莱文’, ‘蒙多医生’, ‘伊莉丝’, ‘伊芙琳’, ‘伊泽瑞尔’, ‘费德提克’, ‘菲奥娜’, ‘菲兹’, ‘加里奥’, ‘普朗克’, ‘盖伦’, ‘古拉加斯’, ‘格雷福斯’, ‘赫卡里姆’, ‘黑默丁格’, ‘艾瑞莉娅’, ‘迦娜’, ‘嘉文四世’, ‘贾克斯’, ‘杰斯’, ‘金克丝’, ‘卡尔玛’, ‘卡尔萨斯’, ‘卡萨丁’, ‘卡特琳娜’, ‘凯尔’, ‘凯南’, ‘卡兹克’, ‘克格莫’, ‘乐芙兰’, ‘李青’, ‘蕾欧娜’, ‘丽桑卓’, ‘卢锡安’, ‘璐璐’, ‘拉克丝’, ‘墨菲特’, ‘茂凯’, ‘易’, ‘厄运小姐’, ‘孙悟空’, ‘莫德凯撒’, ‘莫甘娜’, ‘娜美’, ‘内瑟斯’, ‘诺提勒斯’, ‘奈德丽’, ‘魔腾’, ‘努努’, ‘奥拉夫’, ‘潘森’, ‘波比’, ‘奎因’, ‘拉莫斯’, ‘雷恩加尔’, ‘锐雯’, ‘兰博’, ‘瑞兹’, ‘瑟庄妮’, ‘萨科’, ‘慎’, ‘希瓦娜’, ‘辛吉德’, ‘赛恩’, ‘希维尔’, ‘斯卡纳’, ‘娑娜’, ‘索拉卡’, ‘斯维因’, ‘辛德拉’, ‘泰隆’, ‘塔里克’, ‘提莫’, ‘锤石’, ‘崔丝塔娜’, ‘特朗德尔’, ‘泰达米尔’, ‘崔斯特’, ‘图奇’, ‘乌迪尔’, ‘厄加特’, ‘韦鲁斯’, ‘薇恩’, ‘维迦’, ‘蔚’, ‘维克托’, ‘弗拉基米尔’, ‘沃利贝尔’, ‘沃里克’, ‘泽拉斯’, ‘赵信’, ‘亚索’, ‘约里克’, ‘扎克’, ‘劫’, ‘吉格斯’, ‘基兰’, ‘婕拉’, ‘阿利斯塔’, ‘玛尔扎哈’, ‘维克兹’, ‘布隆’, ‘阿兹尔’, ‘雷克塞’, ‘卡莉丝塔’, ‘塔姆’]

进程已结束,退出代码为 0

import requests
from bs4 import BeautifulSoup

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 QuarkPC/4.2.5.446"
}

url = "http://loldb.games.sina.com.cn/index"
response = requests.get(url, headers=headers)
response.encoding = 'utf-8'  # 确保正确解码中文
soup = BeautifulSoup(response.text, 'html.parser')

# (更精确):如果英雄名在特定结构里(如 class="db-hero-imgb" 后面的 span)
hero_entries = soup.find_all('div', class_='db-hero-imgb')
hero_names = []
for entry in hero_entries:
    # 找到相邻的 <span> 标签
    span = entry.find_next_sibling('span')
    if span:
        hero_names.append(span.get_text(strip=True))
print(hero_names)  # 输出所有英雄名

with open('hero_names.txt', 'w', encoding='utf-8') as file:
    for name in hero_names:
        file.write(name + '\n')