【发布时间】:2021-03-31 19:16:59
【问题描述】:
我正在从我的客户网站中提取一个表格,我需要将此 HTML 解析为 Pandas 数据框。但是,在表格上,我想将所有 HREF 存储到我的数据框中。 我的 HTML 具有以下架构:
<table>
<tr>
<th>Col_1</th>
<th>Col_2</th>
<th>Col_3</th>
<th>Col_4</th>
<th>Col_5</th>
<th>Col_6</th>
<th>Col_7</th>
<th>Col_8</th>
<th>Col_9</th>
</tr>
<tr>
<td>Office</td>
<td>Office2</td>
<td>Customer</td>
<td></td>
<td><a href="test12345_163">New Doc</a><br><a href="test12345_163">my_work.jpg</a></td>
<td><a href="test12345_163">Person_2</a><br><a href="test12345_163">Person_3</a><br><a href="test12345_163">Person 3</a></td>
<td><a href="test12345_163">Person_1</a><br><a href="test12345_163">Person_1</a><br><a href="test12345_163">Person_1</a><br><a href="test12345_163">Person_1</a></td>
<td>STATUS</td>
<td>9030303</td>
</tr>
</table>
我有这个代码:
soup = BeautifulSoup(page.content, "html.parser")
html_table = soup.find('table')
df = pd.read_html(str(html_table), header=0)[0]
df['Link'] = [link.get('href') for link in html_table.find_all('a')]
我只是想创建一个包含来自每个索引的所有链接的列(如果有多个链接,则将其分组)。但是当我运行这段代码时,我得到了:
Length of values (1102) does not match length of index (435)
我做错了什么?
谢谢!
【问题讨论】:
标签: python pandas beautifulsoup