私はこの質問を調査しましたが、これを解決する実際の解決策を見ていません。 PythonでBeautifulSoupを使用しており、ページからすべての画像タグを取得し、それぞれをループしてそれぞれをチェックして、直接の親がアンカータグであるかどうかを確認しています。
ここにいくつかの擬似コードがあります:
html = BeautifulSoup(responseHtml)
for image in html.findAll('img'):
if (image.parent.name == 'a'):
image.hasParent = image.parent.link
これに関するアイデアはありますか?
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セレクター を使用して、直接のimg
親を持つa
タグを取得することもできます。
soup.select('a > img')