首页 > 解决方案 > 如何从没有 ID、类的网页中删除元素?

问题描述

如何从没有 ID 或类的网页中删除元素。

这是网站:

https://www.sentinelassam.com/north-east-india-news/assam-news/40-new-colleges-to-be-set-up-in-btc-assam-minister-himanta-biswa-sarma-516420

并且要删除的元素具有这样的结构:

<p><b>Also Read <a href="https://www.sentinelassam.com/national-news/iisfs-vigyan-yatra-flagged-off-from-various-indian-cities-516407">IISF's 'Vigyan Yatra' flagged off from various Indian cities</a></b></p>

Also Read文本在网页上的多次出现中很常见。如果我可以删除一个元素,那么一个循环将删除所有这些(我认为)。

可以使用Also Read文本删除整个元素吗?我尝试使用decompose()但我在哪里应用这种decompose()方法?

标签: pythonbeautifulsouppython-requestsremoveall

解决方案


使用 Chrome 或任何其他浏览器的开发者工具。找到要删除的元素,然后右键单击该元素选择Copy > Copy selector。这会给你一个像这样的选择器:

#details-page-infinite-scrolling-data > div.article > div.article-text-desc > div > div > p:nth-child(22) > b > a

这个选择器可能可以简化。现在您可以使用 BeautifulSoup 将其删除:

selector = "#details-page-infinite-scrolling-data > div.article > div.article-text-desc > div > div > p:nth-child(22) > b > a"
soup.select_one(selector).decompose()

我没有测试它。


推荐阅读