【问题标题】:Is there a way to find out what elements are above an element in the DOM hierarchy with requests HTML有没有办法通过请求 HTML 找出 DOM 层次结构中的元素上方的元素
【发布时间】:2019-07-03 22:01:50
【问题描述】:
我正在使用 requests-html 进行网络抓取的 python 项目,我遇到了一个问题,即我试图抓取的网站上的 HTML 部分在 2 个地方的结构相同(一个用于移动一个用于桌面)。当我使用 .find() 方法时,它会同时抓取它们。区分它们的唯一方法是通过它们上方的 div 的 id。有谁知道是否有一种方法可以搜索其他元素之上的元素,就像 .find() 的反面一样。
【问题讨论】:
标签:
html
css
python-3.x
python-requests-html
【解决方案1】:
您始终可以使用正确的 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')