我正在尝试分析此网站上的数据:电价
我尝试使用美丽汤来做到这一点:
from bs4 import BeautifulSoup
import requests
page = requests.get('https://transparency.entsoe.eu/transmission-domain/r2/dayAheadPrices/show?name=&defaultValue=false&viewType=TABLE&areaType=BZN&atch=false&dateTime.dateTime=01.10.2018+00:00%7CCET%7CDAY&biddingZone.values=CTY%7C10YAT-APG------L!BZN%7C10YAT-APG------L&dateTime.timezone=CET_CEST&dateTime.timezone_input=CET+(UTC+1)+/+CEST+(UTC+2)')
soup = BeautifulSoup(page.text, 'html.parser')
price_hide = soup.find(class_='dv-value-cell')
print(price_hide)
到目前为止,我到达了:
<td class="dv-value-cell">
<span onclick="showDetail('eu.entsoe.emfip.transmission_domain.r2.presentation.entity.DayAheadPricesMongoEntity', '5bb0b150623a7295d97e9b6d', '2018-09-30T22:00:00.000Z', 'PRICE', 'CET');">59.53</span>
但是如何刮整个桌子呢?
首先找到所有td
标签,然后在每个标签中提取span
标签内的文本值
timestamps=soup.find_all("td",class_="first")
prices=soup.find_all("td",class_="dv-value-cell")
for t,p in zip(timestamps,prices):
print(t.text.strip()," ",p.span.text.strip())
00:00 - 01:00 59.53
01:00 - 02:00 56.10
02:00 - 03:00 51.41
03:00 - 04:00 47.38
04:00 - 05:00 47.59
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句