html - 有没有办法通过请求 HTML 找出 DOM 层次结构中元素之上的元素

标签 html css python-3.x python-requests-html

我正在 python 中使用 requests-html 进行网络抓取的元素,我遇到了一个问题,我试图抓取的网站上的 HTML 部分在两个地方的结构相同(一个用于移动设备和一个用于桌面)。当我使用 .find() 方法时,它会同时获取它们。区分它们的唯一方法是通过它们上方的 div 的 id。有谁知道是否有一种方法可以搜索另一个元素之上的元素,类似于 .find() 的反面。

最佳答案

您始终可以使用正确的 id 找到您想要的父元素,然后从那里您可以找到所有子元素:

from requests_html import HTMLSession()

with HTMLSession() as s:
    r = s.get(url)
    target = r.html.find('tag#id_of_choice', first=True)
    elems = target.find('tag') 

关于html - 有没有办法通过请求 HTML 找出 DOM 层次结构中元素之上的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56878448/

相关文章:

python - 无法使用基类创建其子类的实例

javascript - 在javascript中获取IST时间

image - HTML5 Canvas ,绘制后缩放图像

javascript - 如何为 Ionic 中的每个图像加载添加一个微调器

javascript - 如何使用 JQuery/CSS 在单击按钮时将 div 面板移动到所有其他 div 面板下方?

javascript - 使用 jQuery 检索呈现的背景图像的尺寸

python - 如何解决 Json 错误 : TypeError: a bytes-like object is required, 而不是 'str'

html - CSS :hover:after image blocking the a:hover (drop down menu)

php - CSS 宽度问题(页面溢出)

python - 想在python中输入一个变量方程来编程