问题背景
使用python的beautifulsoup库爬取网页数据的时候,使用select方法找标签并赋值,get_text()提取文本内容时,报错:
AttributeError: ResultSet object has no attribute 'get_text'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()?
- 1
- 2
原来代码如下:
date = i.select('.c-abstract')
dict['date'].append(''.join(date.get_text().split()))
- 1
- 2
问题解决
原因是使用select方法得到的数据是列表,必须将其中的值提出来才可以使用get_text()方法提取文本,而本次使用select方法后得到数据后并没有将列表中的值提取出来,列表是没有get_text()方法的
修改的代码如下
date = i.select('.c-abstract')
# date[0]将里面的值提取出来
dict['date'].append(''.join(date[0].get_text().split()))
- 1
- 2
- 3
成功得到文本