2014-11-13 57 views
0

我正在尝试使用以下代码从网址中读取文本,以便将所有有效的字符串存储到一个我可以稍后操作的变量中。我在运行时得到一个错误,虽然BeautifulSoup getText抛出一个错误

from bs4 import BeautifulSoup 
import urllib.request 
from django.template.defaultfilters import title 

response = urllib.request.urlopen('http://www.scotland.org/about-scotland/facts-about-scotland/') 
data = response.read() 
soup = BeautifulSoup(data) 

textString = soup.findAll('p').getText() 
print(textString) 

错误:

textString = soup.findAll('p').getText() 
AttributeError: 'ResultSet' object has no attribute 'getText' 

回答

2

试试这个:

textString = soup.findAll('p')[0].getText() 

如果你想获得的所有paragraph数据试试这个:

elements = soup.findAll('p') 
for paragraph in elements: 
    print paragraph.getText() 
+0

啊这个工程,虽然只需要从第一段的数据 – algorhythm

+0

@CMac检查我的编辑。 –

0

我有一个工作。我想你的编辑也一样,谢谢!

textString = "" 
for i in soup.find_all('p'): 
    textString += i.getText() 

print(textString)