Anfängerfrage zu re.compile
@sveni_lee: Das eine hat nichts mit dem anderen zu tun. Beim `SyntaxError` konnte der Compiler nichts mit dem Ö anfangen. Beim zweiten Fehler mischst Du Bytestrings und Unicode, was dazu führt das Python versucht implizit den Bytestring als ASCII zu dekodieren. Der ist aber kein ASCII, darum geht das nicht. Verwende ein Unicode-Zeichenliteral, also ein u vor der Zeichenkette: u' (Östrreich)'
hier hat nicht zufällig jemand Ahnung von JSON RPC abfragen?
Ich versuche grad den Namen zu der imdbnumber aus meiner Kodi-Datenbank aufzulösen.
bekomme aber immer nur 0 angezeigt... Also denke ich das da noch irgendwo ein Fehler sein muss...
Ich versuche grad den Namen zu der imdbnumber aus meiner Kodi-Datenbank aufzulösen.
bekomme aber immer nur 0 angezeigt... Also denke ich das da noch irgendwo ein Fehler sein muss...
Code: Alles auswählen
def TVShowName2TVShowID(tvshowname):
query = {
"jsonrpc": "2.0",
"method": "VideoLibrary.GetTVShowDetails",
"params": {"limits": {"start": 0, "end": 200}},
"id": 1
}
res = json.loads(xbmc.executeJSONRPC(json.dumps(query, encoding='utf-8')))
if 'result' in res and 'tvshow' in res['result']:
res = res['result'].get('tvshow')
for tvshow in res:
if tvshowname.lower () in tvshow['sorttitle'].lower():
debug("SerienPlaner found imdb-ID %s" % (tvshow['sorttitle']))
return tvshow['imdbnumber']
return 0
- miracle173
- User
- Beiträge: 127
- Registriert: Samstag 6. Februar 2016, 00:28
Das ist jetz eigentlich wieder eine eigenständige Frage und gehört nicht mehr zu 'Anfängerfrage zu re.compile'sveni_lee hat geschrieben:hier hat nicht zufällig jemand Ahnung von JSON RPC abfragen?
(...)
mfg miracle173
https://github.com/python-forum-de/Jump-N-Run-pydesw
https://github.com/python-forum-de/Jump-N-Run-pydesw
@BackJack:
irgendwie finde ich BeautifulSoup sehr interessant... und für meine "nächsten" Versuch bestens geeignet...
ich habe eine xml-"Seite" die mir die gewünschen Informationen zur verfügung stellt.
jetzt möchte ich diese xml-"Seite" auswerten...
bsp: http://thetvdb.com/api/DECE3B6B5464C552 ... all/de.xml
hier sind alle informationen zu einer Serie abgelegt.
ich habe folgende Werte:
<EpisodeNumber> und <SeasonNumber> damit lässt sich die Episode eindeutig identifizieren
Ich würde das jetzt so machen...
irgendwie finde ich BeautifulSoup sehr interessant... und für meine "nächsten" Versuch bestens geeignet...
ich habe eine xml-"Seite" die mir die gewünschen Informationen zur verfügung stellt.
jetzt möchte ich diese xml-"Seite" auswerten...
bsp: http://thetvdb.com/api/DECE3B6B5464C552 ... all/de.xml
hier sind alle informationen zu einer Serie abgelegt.
ich habe folgende Werte:
<EpisodeNumber> und <SeasonNumber> damit lässt sich die Episode eindeutig identifizieren
Ich würde das jetzt so machen...
Code: Alles auswählen
def get_desc_thetvdb():
url="http://thetvdb.com/api/DECE3B6B5464C552/series/"+imdbnumber+"/all/de.xml"
soup = BeautifulSoup(url)
content = soup.find('Episode')
result = {
'season_tvdb': parse_number(node.find('SeasonNumber')),
'episode_tvdb': parse_number(node.find('EpisodeNumber')),
'episode_title_tvdb': node.find('EpisodeName)',
'desc_db': node.find('Overview').text,
'episodeid_tvdb': parse_number(node.find('id')),
}
return result
so, ich habe jetzt alle Einzelteile zusammen und versuche grad daraus ein plugin/script zumachen.
jetzt habe ich folgenden Fehler:
die entsprechende code Passage:
jetzt habe ich folgenden Fehler:
Code: Alles auswählen
File "G:\KODI-Krypton\portable_data\addons\plugin.program.serienplaner\default.py", line 82, in getUnicodePage
req = urllib2.urlopen(url, None, headers)
Code: Alles auswählen
def getUnicodePage(url, container=None):
try:
headers = { 'User-Agent' : 'Mozilla/5.0' }
req = urllib2.urlopen(url, None, headers)
except UnicodeDecodeError:
req = urllib2.urlopen(url)
encoding = 'utf-8'
if "content-type" in req.headers and "charset=" in req.headers['content-type']:
encoding=req.headers['content-type'].split('charset=')[-1]
content = unicode(req.read(), encoding).replace("\\", "")
if container is None: return content
return content.split(container)
okay, das erste Problem konnte ich lösen...
liefert mir nun das gewünschte Ergebnis...
nun habe ich die einzelnen scraper ausgelagert....
der scraper, der mir detailURL liefert
wenn ich nun die detailURL scrapen möchte
kommt immer eine Fehlermeldung:
Code: Alles auswählen
def getUnicodePage(url, container=None):
try:
headers = { 'User-Agent' : 'Mozilla/5.0' }
req = urllib2.Request(url, None, headers)
except UnicodeDecodeError:
req = urllib2.urlopen(url)
encoding = 'utf-8'
if "content-type" in req.headers and "charset=" in req.headers['content-type']:
encoding=req.headers['content-type'].split('charset=')[-1]
content = unicode(urllib2.urlopen(req).read(), encoding).replace("\\", "")
if container is None: return content
return content.split(container)
nun habe ich die einzelnen scraper ausgelagert....
der scraper, der mir detailURL liefert
Code: Alles auswählen
_detailurl = re.compile(' <a href="(.+?)" class', re.DOTALL).findall(content)
self.detailURL = "http://www.wunschliste.de"+_detailurl[0]
Code: Alles auswählen
details = WLScraper()
details.scrapeDetailPage(getUnicodePage(data.detailURL), 'div class="text"')
Code: Alles auswählen
Error Contents: unknown url type:
Traceback (most recent call last):
File "G:\KODI-Krypton\portable_data\addons\plugin.program.serienplaner\default.py", line 474, in <module>
scrapeWLPage(category)
File "G:\KODI-Krypton\portable_data\addons\plugin.program.serienplaner\default.py", line 401, in scrapeWLPage
details.scrapeDetailPage(getUnicodePage(data.detailURL), 'div class="text"')
File "G:\KODI-Krypton\portable_data\addons\plugin.program.serienplaner\default.py", line 89, in getUnicodePage
content = unicode(urllib2.urlopen(req).read(), encoding).replace("\\", "")