根据参考资料中的代码示例和描述,可以看出在使用select()方法寻找元素时返回的应该是一个由元素构成的列表。但是在你实际操作中得到的是一个element.ResultSet类型的结果。这种结果是正常的,它代表的是一组匹配到的元素的集合。
element.ResultSet是BeautifulSoup库中的一个特定类型,它表示一组匹配到的元素。ResultSet对象是可遍历的,可以通过索引和迭代方式访问其中的每一个元素。
若你希望获取其中的某个具体元素,可以通过下标或迭代的方式进行访问。若你需要对这组元素进行进一步的操作,例如提取属性或文本内容等,可以通过元素对象的相应方法进行。
以下是一个示例代码,展示了如何获取select()方法返回的element.ResultSet对象和其中的元素:
import requests
from bs4 import BeautifulSoup
url = "http://www.weather.com.cn/weather/101040100.shtml"
header = ("User-Agent",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36")
r = requests.get(url, timeout=20)
r.encoding = 'utf-8'
soup = BeautifulSoup(r.text, "html.parser")
div_list = soup.select('div') # 获取所有div元素
# 遍历输出div元素的文本内容
for div in div_list:
print(div.text)
# 获取第一个div元素的某个属性值
first_div = div_list[0]
print(first_div['class'])
以上代码通过请求指定URL获取网页内容,并使用select('div')方法提取所有的div元素。然后使用遍历方式输出每个div元素的文本内容,以及获取第一个div元素的class属性值。
希望以上解答能够解决你的问题,如有疑问请继续提问。