需要帮助查找隐藏在没有id的HTML表中的数据(Selenium/Python)

2024-05-18 14:29:27 发布

您现在位置:Python中文网/ 问答频道 /正文

这个页面是一个房地产网站,我想从列表中提取数据http://www.josephbernard.net/properties.php?state=oregon

我想在这些单元格中的超链接中提取数据:

newProperties = []
...

<td align="left" bgcolor="#FFFFFF">$725,000</td>

<td align="left" bgcolor="#FFFFFF"> Available</td>

*<td align="left" bgcolor="#FFFFFF">
    <a href="/washington">


 Washington Street Studios
<br>1410 Washington Street SW<br>Albany, Oregon, 97321
</a>
</td>*

<td align="center" bgcolor="#FFFFFF">15</td>

<td align="center" bgcolor="#FFFFFF">8.49%</td>

<td align="center" bgcolor="#FFFFFF">$48,333</td>

</tr>

所以我可以附加到newProperties:

newProperties.append({
    'title': "Washington Street Studios",
    'URL': "(/washington)"
    'location': "Albany, Oregon, 8731"
})

父节点中唯一的问题似乎没有任何ID或类可以正确地将它们作为目标。你知道我该怎么做吗


Tags: 数据brstreetlefttdcenteroregonalign
1条回答
网友
1楼 · 发布于 2024-05-18 14:29:27

这应该管用

这个页面充满了嵌套的表。每个列表都在一个表中,因此您需要通过CSS选择器找到正确的表。然后检查里面是否有2个链接(第一个链接总是图片),有时地址没有链接。如果有两个,那么第二个链接就是你要找的

listings = driver.driver.find_elements_by_css_selector("table[style='border-bottom:#ccc 1px solid;']")
for listing in listings
    links = listing.find_elements_by_tag_name("a")
    if len(links) > 1
        // do something with links[1]

相关问题 更多 >

    热门问题