简单的爬取中国天气网某个城市七天的天气预报数据

本文介绍了一个使用Python的BeautifulSoup库抓取中国天气网天气预报数据的实例,包括如何解析HTML结构,提取所需数据并存入SQLite数据库。代码详细展示了从构造请求头到数据持久化的全过程。

首先需要了解需要爬取的数据的网页的结构,其结构如下图所示(只截取了部分):

从图中可以看出每一天的天气数据都被一个<li></li>包含,这七天的数据又都包含在一个<ul></ul>中。

所以我们的目标就是获取ul下每个li中的数据。注意,“今天”的数据中温度只有一个数值,而其后6天的

数据温度都有两个数值,需要单独处理。

代码如下(IDE:pycharm):

from bs4 import BeautifulSoup
from bs4 import UnicodeDammit
import urllib.request
import sqlite3

class WeatherDB:
    def openDB(self):
        # 使用sqlite3建立的weathers数据库
        self.con = sqlite3.connect("weathers.db")
        self.cursor = self.con.cursor()
        try:
            self.cursor.execute("create table weathers (wCity varchar(16),wDate varchar(16),wWeather varchar(64),wTemp varchar(32),constraint pk_weather primary key(wCity,wDate))")
        except:
            self.cursor.execute("delete from weathers")
    def closeDB(self):
        self.con.commit()
        self.con.close()
    def 
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值