我想一次獲取所有名稱和價格鍵,但所有第一個 dict 鍵的順序都不相同,我無法迭代,這就是為什么我必須進行一些預處理但輸出不一致的原因。
電流輸出:
Name Price
0 Half-Life: Opposing Force [{'id': 32, 'discount_block': '<div hljs-built_in">id': 34, 'discount_block': '<div class="dis...
2 Half-Life 2 [{'id': 36, 'discount_block': '<div hljs-number">3 Half-Life 2: Episode Two [{'id': 516, 'discount_block': '<div hljs-built_in">id': 35659, 'discount_block': '<div class="...
5 Steam Controller []
6 PCMark 10 [{'id': 125001, 'discount_block': '<div class=...
7 Kerbal Space Program 2 []
8 Hollow Knight: Silksong
預期輸出:
name price
0 Half-Life: Opposing Force 59
1 Half-Life 109
2 Half-Life 2 109
3 Half-Life 2: Episode Two 89
4 Cuphead 573
5 Steam Controller []# meaning None
6 PCMark 10 157
7 Kerbal Space Program 2 []
8 Hollow Knight: Silksong []
腳本:
import re
import json
import requests
import pandas as pd
url = 'https://store.steampowered.com/wishlist/id/zorro4/#sort=order'
wishlist_url = json.loads( re.findall(r'g_strWishlistBaseURL = (".*?");', requests.get(url).text)[0] )
#print(wishlist_url)
data = requests.get(wishlist_url 'wishlistdata/?p=0').json()
#print(wishlist_url 'wishlistdata/?p=0')
# jsn_data=json.dumps(data, indent=4)
# with open('da.json','w') as f:
# f.write(jsn_data)
names = [d['name'] for d in data.values()]
# print(names)
out = list(map(lambda x: x['subs'], data.values()))
p=[]
for i in out:
for t in i:
q=t['price']
p.append(q)
#print(q)
df = pd.DataFrame(data=list(zip(names, out)), columns=['Name', 'Price'])
print(df)
uj5u.com熱心網友回復:
迭代
data,里面有資料,list你可以使用index位置提取,它提供html標簽,現在用于bs4查找特定價格,截至目前我已經接受discount_final_price了輸出。并將您的資料附加到,
lst以便它回傳值串列并創建df使用pandas并根據需要提供資料lst和列
import numpy as np
lst=[]
for key,value in data.items():
try:
name=value['name']
price_data=value['subs'][0]['discount_block']
soup=BeautifulSoup(price_data,"html.parser")
price=soup.find("div",class_="discount_final_price").get_text().split(" ")[-1]
except:
price=np.nan
lst.append([name,price])
輸出:
name price
0 Half-Life: Opposing Force 39
1 Half-Life 69
2 Half-Life 2 69
3 Half-Life 2: Episode Two 59
4 Cuphead 395
5 Steam Controller NaN
6 PCMark 10 104
7 Kerbal Space Program 2 NaN
8 Hollow Knight: Silksong NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/399101.html
