python运用beautifulsoup选择正确selector获取天气预报

以下代码实现深圳未来7天天气预报信息,代码如下,注意在copy selector时不一定正确,要自己检查并构造

代码如下,基于python3.6.4版本

#coding:utf-8

from bs4 import BeautifulSoup
import requests
import lxml


ur1 = 'http://www.weather.com.cn/weather/101280101.shtml'
#获取网页数据
web_data = requests.get(ur1)
# 设为utf-8编码,预防乱码
web_data.encoding = 'utf-8'
#print(web_data.text)
soup = BeautifulSoup(web_data.text, 'html.parser')
day = soup.select('ul.t.clearfix > li > h1')

weather = soup.select('ul.t.clearfix > li > p.wea')
max_tem = soup.select('ul.t.clearfix > li > p.tem > span')
min_tem = soup.select('ul.t.clearfix > li > p.tem > i')
wind = soup.select('ul.t.clearfix > li > p.win > i')

#print(day, weather, max_tem, min_tem, wind)

for day, weather, max_tem, min_tem, wind in zip(day, weather, max_tem, min_tem, wind):
    day_text = day.get_text()
    weather_text = weather.get_text()
    max_tem_text = max_tem.get_text()
    min_tem_text = min_tem.get_text()
    wind_text = wind.get_text()

    information = {
        'day': day_text,
        "weather": weather_text,
        'max_tem': max_tem_text,
        'min_tem': min_tem_text,
        'wind': wind_text
    }
    print(information)


结果如下


猜你喜欢

转载自blog.csdn.net/feiyang5260/article/details/80372907
今日推荐