我已经研究过这个问题,但还没有找到解决这个问题的实际解决方案。我正在使用带有Python的BeautifulSoup,我要做的是从页面获取所有图像标记,循环遍历每个图像标记并检查每个标记以查看它的直接父标记是否为锚标记。 / p>
这里有一些伪代码:
html = BeautifulSoup(responseHtml)
for image in html.findAll('img'):
if (image.parent.name == 'a'):
image.hasParent = image.parent.link
有关于此的任何想法吗?
答案 0 :(得分:15)
for img in soup.find_all('img'):
if img.parent.name == 'a':
print "Parent is a link"
演示:
>>> from bs4 import BeautifulSoup
>>>
>>> data = """
... <body>
... <a href="google.com"><img src="image.png"/></a>
... </body>
... """
>>> soup = BeautifulSoup(data)
>>> img = soup.img
>>>
>>> img.parent.name
a
您还可以使用CSS selector检索具有直接img
父级的a
代码:
soup.select('a > img')