首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用while循环实现漂亮汤并持续检测数据更改

如何使用while循环实现漂亮汤并持续检测数据更改
EN

Stack Overflow用户
提问于 2021-03-04 09:00:25
回答 1查看 117关注 0票数 0

我是刮一个网站,在那里我有一个网站链接,我将刮,并有一个大约6-8小时的更新时间。如果数据没有变化,那么它将保持不变。基本上,这意味着我不必一直单击run来查看数据是否发生了变化。

除此之外,我还想通过把文件变成csv来做一次刮擦。在这里,我附上了我在网站上做刮擦时的代码。

代码语言:javascript
复制
import csv
import re
import requests
from bs4 import BeautifulSoup

url = "https://www.ndbc.noaa.gov/station_page.php?station=56003"
request_headers = {
    "user-agent": ("Mozilla / 5.0 (Windows NT 10.0; Win64; x64)"
                   "AppleWebKit / 537.36 (KHTML, like Gecko)"
                   "Chrome / 88.0.4324.150 Safari / 537.36 Edg / 88.0.705.63")
}
response = requests.get (url, headers = request_headers)
response.raise_for_status ()
soup = BeautifulSoup (response.text, "html.parser")
headers = ["Year", "Month", "Day", "Hour", "Minute", "Second", "T", "Height"]

with open ("station-56003.csv", "w") as f:
    writer = csv.writer (f, lineterminator = "\ n")
    writer.writerow (headers)

    for line in soup.select_one ("# data"). text.split ("\ n"):
        if re.fullmatch (r "[\ d.] {30}", line) and len (line.split ()) == len (headers):
            writer.writerow (line.split ()) 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-04 09:10:14

考虑检查csv文件的校验和。如果它已经改变了,这意味着有新的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66471708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档