Webscrap值从我的网页和存储在数据库SQlite

9jyewag0  于 2023-08-06  发布在  SQLite
关注(0)|答案(1)|浏览(155)

我想从我的网页中抓取一个值,并每5分钟将其发送到SQlite数据库,我已经完成了webscrape python:

import requests
from bs4 import BeautifulSoup
URL = "http://ludvikasegel.com/wx/cloudbase.asp"
page = requests.get(URL)
soup = BeautifulSoup(page.content, "html.parser")
molnbas = soup.find_all("div", class_="cloudbase")
print (molnbas[0].text.strip())

字符串
现在我被困在如何将其存储在SQlite数据库中。在我的数据库中,我想要的值和一些时间戳。有什么建议或者简单的教程吗?
谢谢
我已经检查了一些教程,但仍然不确定如何做到这一点。

m3eecexj

m3eecexj1#

首先创建一个schema.sql文件。从理论上讲,这可以直接放入init_db.py中,但(在我看来)为了清晰起见,将其分离出来是一种很好的做法。

DROP TABLE IF EXISTS table_name;

CREATE TABLE table_name (
    value INTEGER,
    timestamp TEXT
);

字符串
然后创建init_db.py文件

import sqlite3

with sqlite3.connect('database.db') as con, open("schema.sql") as f:
    con.executescript(f.read())


将其添加到每5分钟运行一次的脚本中。

import datetime 

desired_value = molnbas[0].text.strip()
timestamp = datetime.datetime.utcnow().isoformat()  # UTC timestamp, change to whatever you want

with sqlite3.connect("database.db") as sqlite_connection:
    sqlite_connection.execute(
        "INSERT INTO table_name VALUES (?, ?)",
        (desired_value, timestamp)
    )

相关问题