这是我第一次使用网页抓取工作。到目前为止,我能够导航并找到我想要的HTML部分。我也可以打印出来。问题是只打印文本,这将无法正常工作。我在尝试时遇到以下错误:AttributeError: 'ResultSet' object has no attribute 'get_text'
这是我的代码:
from bs4 import BeautifulSoup
import urllib
page = urllib.urlopen('some url')
soup = BeautifulSoup(page)
zeug = soup.find_all('div', attrs={'class': 'fm_linkeSpalte'}).get_text()
print zeug
答案 0 :(得分:11)
find_all()
返回一个元素数组。您应该浏览所有这些并选择您需要的那个。而不是致电get_text()
<强> UPD 强>
例如:
for el in soup.find_all('div', attrs={'class': 'fm_linkeSpalte'}):
print el.get_text()
但请注意,您可能有多个元素。
答案 1 :(得分:0)
我将关闭该问题以将其复制,然后将您链接到另一个,我发现它回答了这个问题,但是我认为我没有适当的声誉...所以...
此代码:
for el in soup.findAll('div', attrs={'class': 'fm_linkeSpalte'}):
print ''.join(el.findAll(text=True))
如果国防部想结束这个问题,那将是有帮助的。
答案 2 :(得分:0)
尝试在列表内的for
中获取数据,如下所示:
zeug = [x.get_text() for x in soup.find_all('div', attrs={'class': 'fm_linkeSpalte'})]