ef get_data(url): resp = requests.get(url) html = resp.text soup = BeautifulSoup(html,'html.parser') tr_list = soup.find_all('tr') dates,conditions,temp = [],[],[] for data in tr_list[1:]: sub_data = data.text.split() dates.append(sub_data[0]) conditions.append(''.join(sub_data[1:3])) temp.append(''.join(sub_data[3:6])) _data = pd.DataFrame() _data['日期'] = dates _data['天气情况'] = conditions _data['气温'] = temp return _data
时间: 2024-01-14 08:05:02 浏览: 119
Python下利用BeautifulSoup解析HTML的实现
这是一个Python函数,用于从指定的URL获取网页数据,并解析出其中的天气数据,返回一个Pandas数据框。具体实现过程如下:
1. 使用requests库向指定的URL发送请求,并获取响应数据;
2. 使用BeautifulSoup库解析HTML页面,获取其中的表格数据;
3. 遍历表格中的每一行数据,将日期、天气情况、气温等信息分别添加到对应的列表中;
4. 创建一个空的Pandas数据框,并将日期、天气情况、气温等信息分别作为列添加到数据框中;
5. 返回这个数据框。
需要注意的是,在解析HTML页面时,使用了html.parser解析器,这是Python内置的解析器,用于解析HTML和XML等格式的文本数据。在遍历表格数据时,使用了列表切片技术,从第二行开始遍历,跳过了表格的标题行。
阅读全文