You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python抓取每10分钟刷新网站:时间戳输入与数据关联问题求助

问题1:修改时间戳输入框获取特定时段数据

因为没法访问目标网站,给你通用的排查和实现步骤:

  • 打开浏览器开发者工具(按F12),切换到「网络」标签页。
  • 在网站的时间戳输入框里选一个特定时间,点击提交/查询按钮,观察网络请求:
    • 如果是GET请求:看请求URL里的查询参数,会有类似timestamp=xxxx、start_time=2024-05-20%2010:00:00这类字段,记录参数名和时间格式。
    • 如果是POST请求:看请求的「表单数据」或「JSON」部分,同样找时间相关的参数。
  • 用requests构造带参数的请求:
    GET示例:
    target_time = "2024-05-20 10:00:00"  # 换成网站要求的格式
    params = {"timestamp": target_time}  # 替换成实际参数名
    response = requests.get(URL1, params=params)
    tables1 = pd.read_html(response.text)
    
    POST示例:
    target_time = 1716189600  # 假设是Unix时间戳
    data = {"start_timestamp": target_time}  # 替换成实际参数名
    response = requests.post(URL1, data=data)
    tables1 = pd.read_html(response.text)
    
  • 注意:有些网站会对时间参数做加密或校验,如果参数看起来是加密字符串,可能需要进一步分析前端JS代码,但先从简单的参数传递开始试。

问题2:关联自定义时间戳与抓取数据

你现在用的是datetime.now()作为当前数据的时间戳,但要关联特定查询时间,只需要把目标时间变量同时用于请求参数和DataFrame的时间列:

修改后的代码示例:

import requests
import pandas as pd
from datetime import datetime

URL1 = "URL.com"
# 定义你要查询的目标时间,格式要和网站要求一致
target_time_str = "2024-05-20 10:00:00"
# 转换成datetime对象用于DataFrame
target_time = datetime.strptime(target_time_str, "%Y-%m-%d %H:%M:%S")

# 构造带时间参数的请求(这里用GET示例,根据实际情况换成POST)
params = {"timestamp": target_time_str}
response = requests.get(URL1, params=params)
tables1 = pd.read_html(response.text)

print("There are : ", len(tables1), " tables1")
PartUsage = pd.DataFrame(tables1[8])

# 用目标时间而不是当前时间
PartUsage["Date"] = target_time
PartUsage.set_index("Date", inplace=True)

from pathlib import Path  
filepath = Path('Path.csv')  
filepath.parent.mkdir(parents=True, exist_ok=True)  
PartUsage.to_csv(filepath)

这样一来,你请求的是target_time_str对应时段的数据,同时把这个时间作为该条数据的时间戳存入CSV,就实现了关联。

内容的提问来源于stack exchange,提问作者rajat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 01:24:30