-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscratch_5.py
More file actions
48 lines (37 loc) · 1.63 KB
/
Copy pathscratch_5.py
File metadata and controls
48 lines (37 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import csv
from bs4 import BeautifulSoup
# 假设html_content是包含HTML内容的字符串
# 你可以从文件中读取html_content,例如使用open('yourfile.html', 'r', encoding='utf-8').read()
# 示例HTML内容
html_content = """
"""
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(html_content, 'html.parser')
# 初始化一个空列表来存储提取的数据
cards_data = []
# 查找所有的card-wrap card-data元素
for card in soup.find_all(class_="card-relation-wrap card-relation-data"):
# 初始化一个字典来存储当前卡片的数据
card_data = {}
# 提取所需的属性
card_data['data-artid'] = card.get('data-artid')
card_data['data-id'] = card.get('data-id')
card_data['data-power'] = card.get('data-power')
card_data['data-armor'] = card.get('data-armor')
card_data['data-provision'] = card.get('data-provision')
card_data['data-faction'] = card.get('data-faction')
card_data['data-color'] = card.get('data-color')
card_data['data-type'] = card.get('data-type')
card_data['data-rarity'] = card.get('data-rarity')
# 将当前卡片的数据添加到列表中
cards_data.append(card_data)
# 定义CSV文件的标题
csv_headers = ['data-artid', 'data-id', 'data-power', 'data-armor', 'data-provision', 'data-faction', 'data-color', 'data-type',
'data-rarity']
# 保存到CSV文件
with open('yanshengwu.csv', 'w', newline='', encoding='utf-8') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=csv_headers)
writer.writeheader()
for card in cards_data:
writer.writerow(card)
print("数据已保存到cards_data.csv文件中。")