我正在使用 whitehouse.gov 来练习抓取网络数据。我有
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'] 作为输出。我玩了一会儿就想通了
for a_tag in soup.select('span a'):
for x in a_tag:
categories.append(x)
给了我正在寻找的输出(声明和发布等),但我不知道为什么?
答案 0 :(得分:1)
要在 href 中获取文本,您应该使用文本变量:
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)
答案 1 :(得分:1)
我怀疑这就是您所需要的:
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