繁体   English   中英

Python Beautifulsoup 访问标签中的属性

[英]Python Beautifulsoup accessing attribute in tag

我正在使用 whitehouse.gov 练习抓取 web 数据。 我有

    for a_tag in soup.select('span a'):
        categories.append(a_tag)

这给了我下面的标签......

<a href="https://www.whitehouse.gov/briefing-room/./statements-releases/" rel="category tag">Statements and Releases</a> 

现在我只想访问“声明和发布”,所以我想我会这样做

   for a_tag in soup.select('span a'):
        categories.append(a_tag.attrs['rel')]

但这给了我 ['category', 'tag'] 作为 output。 我玩了一会儿,然后想通了

    for a_tag in soup.select('span a'):
        for x in a_tag: 
            categories.append(x)

给我 output 我正在寻找(声明和发布等),但我不知道为什么?

要在 href 中获取文本,您应该使用 text 变量:

for a_tag in soup.select('span a'):
        categories.append(a_tag.text)

或者

for a_tag in soup.select('span a'):
        categories.append(a_tag.string)

我怀疑这是你需要的:

   for a_tag in soup.select('span a'):
        categories.append(a.getText())

如果你想要Statements and Releases

鉴于,这样做:

for a_tag in soup.select('span a'):
        categories.append(a_tag.attrs['rel'])

生成rel属性的值,即category tag

暂无
暂无

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

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