问题描述
我可以使用以下代码块来解析网站中所需的字段:
response = requests.get(index_url)
soup = bs4.BeautifulSoup(response.text, "lxml")
poem = soup.select('div.siir p[id^=siir]')
print poem
但是它使用HTML标签打印。
我正在尝试使用get_text()
函数。
当我尝试这样使用时:
print poem.get_text()
我收到此错误:
AttributeError: 'list' object has no attribute 'get_text'
我也尝试这样使用:
poem = soup.select('div.siir p[id^=siir]').get_text()
我再次遇到相同的错误。 解析正确的字段后如何消除HTML标签?
1楼
soup.select()
总是返回一个元素列表 ,而不仅仅是一个元素。
get_text()
在每个元素上调用get_text()
:
for element in poem:
print element.get_text()
如果只需要一个元素,则使用索引将其提取:
print poem[0].get_text()