BeautifulSoup:href和class之间的提取?

时间:2015-10-10 17:24:48

标签: python python-2.7 web-scraping beautifulsoup

我想存储以下文本块中的日期:

newsoup = '''<html><body><a href="/president/washington/speeches/speech-3460">Proclamation 
of Pardons in Western Pennsylvania (July 10, 1795)</a>, <a class="transcript" href="/president/washington/speeches/speech-3460">Transcript</a>, 
<a href="/president/washington/speeches/speech-3939">Seventh Annual Message to Congress (December 8, 1795)</a></body></html>'''

但是,我在查看></a>之间的文字时遇到了问题。一旦我得到Proclamation of Pardons in Western Pennsylvania (July 10, 1795),我就会被设定。我尝试过针对我的特定数据采用另一种方法,但最终得到一个空对象。

我正在尝试类似以下内容,但运气不佳:

a = newsoup.findAll('a',attrs={'href'})
print a

我应该注意到newsoup已经是汤品。

2 个答案:

答案 0 :(得分:2)

假设newsoup是一个汤对象,我认为这应该有效:

(如果不是,您可以运行newsoup = BeautifulSoup(newsoup)

a = newsoup.findAll('a')
for x in a:
    print x.text

答案 1 :(得分:0)

这对你有用:

a = newsoup.findAll('a')[0].contents[0]

其中newsoup是BeautifulSoup对象。

或者先做:

newsoup = BeautifulSoup(newsoup)

你可以把它放在循环中:

a = soup.findAll('a')
for x in a:
    print x.contents[0]