【问题标题】:Get element in a list Beautiful soup获取列表中的元素 美丽的汤
【发布时间】:2019-12-08 13:24:19
【问题描述】:

我通过 chrome 使用 css 选择器来获取网页上的图像,但它返回一个包含一个元素的列表,其中包含一个长字符串,其中一个元素是我正在寻找的元素之一。如何获取带有“data-src”标签的图像。

我的代码

image = soup.select("#articulo_contenedor > figure > img")

返回

<img alt="En primera fila, de izquierda a derecha: Luis Salvador (alcalde de Granada); Luis Garicano (eurodiputado); Inés Arrimadas (portavoz en el Congreso); Edmundo Bal (portavoz adjunto); Marta Martín (diputada); y Begoña Villacís (vicealcaldesa de Madrid)." data-src="//ep01.epimg.net/politica/imagenes/2019/12/07/actualidad/1575740947_516512_1575745986_noticia_normal.jpg" data-srcset="//ep01.epimg.net/politica/imagenes/2019/12/07/actualidad/1575740947_516512_1575745986_noticia_normal_recorte1.jpg 1960w, //ep01.epimg.net/politica/imagenes/2019/12/07/actualidad/1575740947_516512_1575745986_noticia_normal_recorte2.jpg 720w, //ep01.epimg.net/politica/imagenes/2019/12/07/actualidad/1575740947_516512_1575745986_noticia_normal.jpg 980w" height="600" onload="lzld(this)" src="//ep00.epimg.net/t.gif" srcset="//ep00.epimg.net/t.gif 200w" width="980"/>

但我想提取第一个“data-src”

我尝试了很多组合,select_one、get_text()、find、findall,但我一直得到返回类型 none。

谢谢

【问题讨论】:

  • 试试.find_next_sibling()
  • 您要选择第一个带有data-src= 属性的&lt;img&gt; 标记吗?你可以做image = soup.select_one("#articulo_contenedor &gt; figure &gt; img[data-src]")
  • 谢谢,但这会返回与我相同的完整标签
  • .find_next_sibling() 返回的结果和我的一样

标签: python beautifulsoup


【解决方案1】:

这个怎么样?

image = soup.select("#articulo_contenedor > figure > img")
src = image[0]['data-src']

【讨论】:

  • 谢谢,所以 select() 创建了列表,然后在列表中找到标签。
  • @JohnnyQ 是的!对于更多的 img 标签,您可以简单地遍历列表。
猜你喜欢
  • 2021-05-03
  • 1970-01-01
  • 2021-03-20
  • 1970-01-01
  • 2019-02-18
  • 2010-11-06
  • 1970-01-01
  • 2021-03-24
相关资源
最近更新 更多