Statt httplib jetzt requests für Abfrage der Webseite. Code ein wenig optimiert
This commit is contained in:
parent
a964b2b5bc
commit
3458b4e227
@ -23,8 +23,6 @@ import csv
|
|||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import requests
|
import requests
|
||||||
import httplib2
|
|
||||||
import urllib
|
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
@ -40,7 +38,7 @@ class Muell:
|
|||||||
|
|
||||||
self.__host = 'api.abfall.io'
|
self.__host = 'api.abfall.io'
|
||||||
|
|
||||||
self.__url = f'https://{self.__host}/?key={self.__key}&modus={self.__modus}&waction=export_csv'
|
self.__url = f'https://{self.__host}/?key={self.__key}&modus={self.__modus}'
|
||||||
self.__export_als = f"{{'action':'{self.__url}','target':''}}"
|
self.__export_als = f"{{'action':'{self.__url}','target':''}}"
|
||||||
|
|
||||||
self.__current_year = datetime.today().year
|
self.__current_year = datetime.today().year
|
||||||
@ -87,9 +85,9 @@ class Muell:
|
|||||||
def __start(self):
|
def __start(self):
|
||||||
''' Initialisiert das System und sucht entsprechende Daten heraus '''
|
''' Initialisiert das System und sucht entsprechende Daten heraus '''
|
||||||
|
|
||||||
url = f'https://{self.__host}/?key={self.__key}&modus={self.__modus}&waction=init'
|
url = f'{self.__url}&waction=init'
|
||||||
http = httplib2.Http()
|
resp = requests.post(url, data = self.__postdata, headers = self.__headers)
|
||||||
(resp, content) = http.request(url, "POST", headers = self.__headers, body = urllib.parse.urlencode(self.__postdata))
|
content = resp.content
|
||||||
|
|
||||||
result = re.findall(r"<input .*?name=.*? value=.*?/>", str(content))
|
result = re.findall(r"<input .*?name=.*? value=.*?/>", str(content))
|
||||||
|
|
||||||
@ -135,18 +133,19 @@ class Muell:
|
|||||||
|
|
||||||
if not antwort_liste:
|
if not antwort_liste:
|
||||||
# Keine vernünftigen Daten, ergo mal gucken, was die Webseite ergibt
|
# Keine vernünftigen Daten, ergo mal gucken, was die Webseite ergibt
|
||||||
self.postdata['f_id_kommune'] = config['kommune']
|
self.__postdata['f_id_kommune'] = config['kommune']
|
||||||
self.postdata['f_id_strasse'] = config['strasse']
|
self.__postdata['f_id_strasse'] = config['strasse']
|
||||||
|
|
||||||
(name, value) = self.__start()
|
(name, value) = self.__start()
|
||||||
if name != None and value != None:
|
if name != None and value != None:
|
||||||
self.postdata[name] = value
|
self.__postdata[name] = value
|
||||||
|
|
||||||
http = httplib2.Http()
|
url = f'{self.__url}&waction=export_csv'
|
||||||
(resp, content) = http.request(self.__url, "POST", headers = self.__headers, body = urllib.parse.urlencode(self.__postdata))
|
resp = requests.post(url, data = self.__postdata, headers = self.__headers)
|
||||||
|
content = resp.content
|
||||||
|
|
||||||
antwort = str(content)
|
antwort = str(content)
|
||||||
f = open(f'muell{self._current_year}.csv', 'wb')
|
f = open(f'muell{self.__current_year}.csv', 'wb')
|
||||||
f.write(content)
|
f.write(content)
|
||||||
f.close()
|
f.close()
|
||||||
(antwort_liste, headline) = self.__read_file(self.__current_year)
|
(antwort_liste, headline) = self.__read_file(self.__current_year)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user