繁体   English   中英

使用Beautiful Soup家族树解析HTML页面

[英]Parsing HTML pages using Beautiful Soup-family trees

我正在编写一个解析脚本,该脚本应该访问HTML页面中的“ img”标签(并且我正在使用Beautiful Soup。)我正在使用findAll方法来访问代码中的每个图像,但是我还想访问其他一点信息。 我想要每个图像的标题,该图像位于href属性下的紧接“ a”标记之前。 HTML代码如下所示:

div class="thumbinner" style="width:202px;"><a href="/wiki/File:Edmund-Hillary.web.jpg" class="image">img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8d/Edmund-Hillary.web.jpg/200px-Edmund-Hillary.web.jpg" width="200" height="272" class="thumbimage" srcset="//upload.wikimedia.........

我正在尝试使用美丽汤中的父/子方法,但出现错误。 我的代码如下所示:

images= soup.findAll("img", width=true)#access all image tags
jpegtitles= images.siblings['href']

我认为,由于“ img”标签和“ a”标签都是“ div”标签的子级,因此可以通过同级方法访问它们。

关于如何访问的任何建议:href =“ / wiki / File:Edmund-Hillary.web.jpg”?

因为图像标记位于<a>标记之后,所以您要查找父级而不是同级:

>>> soup.find('img', width=True).parent['href']
'/wiki/File:Edmund-Hillary.web.jpg'

您的代码的另一个问题是findAll返回一个列表,因此您不能直接在其上调用.siblings 如果有多个图像,请使用循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM