Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何获取父元素下的元素索引?_Python_Beautifulsoup - Fatal编程技术网

Python 如何获取父元素下的元素索引?

Python 如何获取父元素下的元素索引?,python,beautifulsoup,Python,Beautifulsoup,这是我的HTML: <p><a><img src='#'></img></a><a href='#'>Second Anchor</a> 我正在尝试移除第一个图像周围的锚。我考虑的方法是:找到图像,找到祖父母,提取父锚点,然后将图像插入祖父母。问题是我不知道将图像插入哪个位置。因此,我需要知道它的父锚点在其祖父母段落中的位置。使用replaceWithChildren方法BeautifulSoup 3: >

这是我的HTML:

<p><a><img src='#'></img></a><a href='#'>Second Anchor</a>
我正在尝试移除第一个图像周围的锚。我考虑的方法是:找到图像,找到祖父母,提取父锚点,然后将图像插入祖父母。问题是我不知道将图像插入哪个位置。因此,我需要知道它的父锚点在其祖父母段落中的位置。

使用replaceWithChildren方法BeautifulSoup 3:

>>> soup = BeautifulSoup("<p><a><img src='#'></img></a><a href='#'>Second Anchor</a>")
>>> soup.find("img").parent.replaceWithChildren()
>>> print soup
<p><img src="#" /><a href="#">Second Anchor</a></p>

使用beautiful soup 4及其方法。@beerbajay您应该将其作为答案发布。这已经过时,即使这是以前最好的答案。@beerbajay BeautifulSoup 3.2是大多数Linux发行版发布的版本,因此我认为它可能与此相关。我对BS4没有太多的经验,我同意你应该把展开的评论作为一个答案。