【发布时间】:2019-05-21 11:24:28
【问题描述】:
我尝试了几种循环遍历 TR 元素和 TE 元素的方法,并发现了如何遍历表中的这些行来导入我想要获取的数据。然后,我找到了一种更简单的方法来获取相同的数据,而无需使用循环。这是我的代码。
from bs4 import BeautifulSoup
import requests
import pandas as pd
url = "https://markets.on.nytimes.com/research/markets/holidays/holidays.asp?display=market&exchange=SGO"
r = requests.get(url)
data = r.text
soup = BeautifulSoup(data, "lxml")
table = soup.find_all('table')[0]
print(table.prettify())
唯一的问题是数据带有所有的 HTML 格式,像这样。
<table id="holidayTable">
<tr>
<th class="left light" colspan="3">
Holiday
</th>
<th class="left light">
Markets Closed
</th>
</tr>
<tr>
<td class="bold left" valign="top">
01/01/2018
如何清理这些数据并将其加载到数据框中?我希望它看起来基本上像这样。
感谢您抽出宝贵时间查看此内容!
【问题讨论】:
标签: python python-3.x dataframe web-scraping beautifulsoup