我想从同一类的两个不同表中获取或选择数据。你知道吗
我试着从他那儿弄来的汤。全部找到但格式化数据变得越来越困难。你知道吗
同一类有许多表。我只需要从表中获取值(没有标签)。你知道吗
网址:https://www.redbook.com.au/cars/details/2019-honda-civic-50-years-edition-auto-my19/SPOT-ITM-524208/
表1:
<div class="bh_collapsible-body" style="display: none;">
<table border="0" cellpadding="2" cellspacing="2" class="prop-list">
<tbody>
<tr>
<td class="item">
<table>
<tbody>
<tr>
<td class="label">Rim Material</td>
<td class="value">Alloy</td>
</tr>
</tbody>
</table>
</td>
<td class="item">
<table>
<tbody>
<tr>
<td class="label">Front Tyre Description</td>
<td class="value">215/55 R16</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="item">
<table>
<tbody>
<tr>
<td class="label">Front Rim Description</td>
<td class="value">16x7.0</td>
</tr>
</tbody>
</table>
</td>
<td class="item">
<table>
<tbody>
<tr>
<td class="label">Rear Tyre Description</td>
<td class="value">215/55 R16</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="item">
<table>
<tbody>
<tr>
<td class="label">Rear Rim Description</td>
<td class="value">16x7.0</td>
</tr>
</tbody>
</table>
</td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div> // I thing this is a extra close </div>
表2:
<div class="bh_collapsible-body" style="display: none;">
<table border="0" cellpadding="2" cellspacing="2" class="prop-list">
<tbody>
<tr>
<td class="item">
<table>
<tbody>
<tr>
<td class="label">Steering</td>
<td class="value">Rack and Pinion</td>
</tr>
</tbody>
</table>
</td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>// I thing this is a extra close </div>
我尝试过:
我尝试从Xpath获取第一个表内容,但是它同时提供了值和标签。你知道吗
table1 = driver.find_element_by_xpath("//*[@id='features']/div/div[5]/div[2]/div[1]/div[1]/div/div[2]/table/tbody/tr[1]/td[1]/table/tbody/tr/td[2]")
我试图分割数据,但没有成功。提供了页面的URL,以防您要检查
这两个表的目标有点“棘手”,因为它们包含其他表。我使用CSS选择器
table:has(td:contains("Rim Material")):has(table) tr:not(:has(tr))
以第一个表为目标,使用同一个带有字符串"Steering"
的选择器以第二个表为目标:印刷品:
编辑:用于从多个URL获取数据:
印刷品:
这不是一个完美的解决方案,但如果您愿意稍微翻阅一下数据,我建议您使用pandas的read\uhtml函数。你知道吗
pandas的read\uhtml提取网页中的所有html表,并将其转换为pandas数据帧数组。你知道吗
此代码似乎获取了链接页面中的所有82个表元素:
这将打印出网页中的所有82个表格。限制是您必须手动查找您感兴趣的表并相应地操作它。似乎71号和74号表是你想要的。你知道吗
这种方法需要额外的智能才能使其自动化。你知道吗
你不必在一个
xpath
内完成。您可以使用xpath
获取所有<table class=prop-list>
,然后使用index从列表中选择表,并使用另一个xpath从这个表中获取值我使用BeautifulSoup来实现这一点,但是对于xpath,应该是类似的
结果:
我假设所有的页面都有相同的表,它们有相同的数字。你知道吗
相关问题 更多 >
编程相关推荐