正在从 chrome 浏览器的网络面板获取数据
fetching data from chrome browser's network panel
我正在从网站上抓取数据。我从浏览器的检查元素的网络面板下载 data.json 文件。然后在本地读取JSON文件存储结果。我的问题是我想让这个脚本每隔几个小时自动获取这个 data.json 文件并记录信息。
不要试图从 Chrome 中得到任何东西——那是不必要的。
那里的 SPA 正在调用元数据 url 以获取当前“目录”(日期时间),然后使用该目录查找最新的 interval_generation_data。
这会每分钟为您获取数据。请注意,这里没有错误处理,因此您的循环将在您第一次收到 403 或类似错误时结束。
import requests
import json
import time
s = requests.Session()
s.headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36',
'referer': 'https://outagemap.coned.com/external/default.html',
'x-requested-with': 'XMLHttpRequest'
}
metadata_url = 'https://outagemap.coned.com/resources/data/external/interval_generation_data/metadata.json'
json_url = "https://outagemap.coned.com/resources/data/external/interval_generation_data/"
while True:
r = s.get(metadata_url, params={'_': int(time.time())})
directory = r.json()['directory']
r = s.get(json_url + f'{directory}/data.json', params={'_': int(time.time())})
print(r.json())
time.sleep(60)
import requests
import threading
import time
import datetime
def get_API(N):
#your instruction goes here (the url request)
time.sleep(N)#Goes to Sleep after Nth seconds
get_API(N) #Then executes after Sleep
t=threading.Thread(target=get_API(4000)) #4000 is seconds and it means it re-runs the get_API function after 1 hr and ~6 min
t.start()
我正在从网站上抓取数据。我从浏览器的检查元素的网络面板下载 data.json 文件。然后在本地读取JSON文件存储结果。我的问题是我想让这个脚本每隔几个小时自动获取这个 data.json 文件并记录信息。
不要试图从 Chrome 中得到任何东西——那是不必要的。
那里的 SPA 正在调用元数据 url 以获取当前“目录”(日期时间),然后使用该目录查找最新的 interval_generation_data。
这会每分钟为您获取数据。请注意,这里没有错误处理,因此您的循环将在您第一次收到 403 或类似错误时结束。
import requests
import json
import time
s = requests.Session()
s.headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36',
'referer': 'https://outagemap.coned.com/external/default.html',
'x-requested-with': 'XMLHttpRequest'
}
metadata_url = 'https://outagemap.coned.com/resources/data/external/interval_generation_data/metadata.json'
json_url = "https://outagemap.coned.com/resources/data/external/interval_generation_data/"
while True:
r = s.get(metadata_url, params={'_': int(time.time())})
directory = r.json()['directory']
r = s.get(json_url + f'{directory}/data.json', params={'_': int(time.time())})
print(r.json())
time.sleep(60)
import requests
import threading
import time
import datetime
def get_API(N):
#your instruction goes here (the url request)
time.sleep(N)#Goes to Sleep after Nth seconds
get_API(N) #Then executes after Sleep
t=threading.Thread(target=get_API(4000)) #4000 is seconds and it means it re-runs the get_API function after 1 hr and ~6 min
t.start()