-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfetch_avg_poll_data.py
51 lines (43 loc) · 1.84 KB
/
fetch_avg_poll_data.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import httpx
import asyncio
# import pandas as pd
# from pandas import read_csv
# from scripts.webhook_driver import primary_polls_avg_webhook
# from scripts.data_parser import primary_avg
# from scripts.meta import get_est_time
PRIMARY_POLLS_AVG_LAST_UPDATE = None
STATES = set()
# get_state = pd.read_csv(
# 'data/primary_average/president_primary_polls_avg.csv', encoding='ANSI')
# for i in get_state.state:
# STATES.add(i)
async def fivethirtyeight_primary_polls_avg():
url = 'https://projects.fivethirtyeight.com/2020-primary-data/pres_primary_avgs_2020.csv'
headers = {'user-agent': 'Elections 2020 Discord bot contact: bbellini@protonmail.com or bradybellini.com/electionsbot/', 'If-None-Match': ""}
while True:
async with httpx.AsyncClient() as client:
print(client.headers)
r = await client.get(url, headers=headers)
print(r.request.headers)
print(r.status_code, 'avg')
# print(r.headers)
# if r.status_code == 200:
# with open('data/primary_average/president_primary_polls_avg.csv', 'wb') as f:
# f.write(r.content)
# PRIMARY_POLLS_AVG_LAST_UPDATE = await get_est_time()
# await asyncio.sleep(10)
# for state in STATES:
# await primary_avg(state)
# elif r.status_code != 304:
# await primary_polls_avg_webhook()
headers = {'user-agent': 'Elections 2020 discord bot',
'If-None-Match': r.headers['etag']}
print(r.request.headers)
print(r.status_code, 'AVG')
# print(r.client)
# print(PRIMARY_POLLS_AVG_LAST_UPDATE)
await asyncio.sleep(10)
if __name__ == "__main__":
current_loops = asyncio.gather(fivethirtyeight_primary_polls_avg())
loop = asyncio.get_event_loop()
loop.run_until_complete(current_loops)