Ich habe eine Anwendung in Google App-Engine, die Beautiful Soup verwendet. Ich verwende die neueste Version davon, http://www.crummy.com/software/BeautifulSoup/bs4/download/4.0/. Alles hat gut funktioniert, bis ich es auf GAE hochgeladen habe. Die Sache, die dann passierte war, dass ich diesen Fehler hätte:BeautifulSoup Fehler in Google Appengine
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 701, in __call__
handler.get(*groups)
File "/base/data/home/apps/s~app/1.358226218191077920/main.py", line 285, in get
self.response.out.write(self.makeQuery("9147094591"))
File "/base/data/home/apps/s~app/1.358226218191077920/main.py", line 191, in makeQuery
from bs4 import BeautifulSoup
File "/base/data/home/apps/s~app/1.358226218191077920/bs4/__init__.py", line 29, in <module>
from .builder import builder_registry
File "/base/data/home/apps/s~app/1.358226218191077920/bs4/builder/__init__.py", line 279, in <module>
from . import _htmlparser
File "/base/data/home/apps/s~app/1.358226218191077920/bs4/builder/_htmlparser.py", line 23, in <module>
from bs4.element import (
File "/base/data/home/apps/s~app/1.358226218191077920/bs4/element.py", line 6, in <module>
from bs4.dammit import EntitySubstitution
File "/base/data/home/apps/s~app/1.358226218191077920/bs4/dammit.py", line 254
smart_quotes_re = b"([\x80-\x9f])"
^
SyntaxError: invalid syntax
Als ich an der Linie 254 in dammit.py aussehen finde ich:
if (self.smart_quotes_to is not None
and proposed.lower() in self.ENCODINGS_WITH_SMART_QUOTES):
smart_quotes_re = b"([\x80-\x9f])"
smart_quotes_compiled = re.compile(smart_quotes_re)
markup = smart_quotes_compiled.sub(self._sub_ms_char, markup)
ich nicht wirklich sehen kann, was falsch ist. Ich habe andere Versionen von BS ausprobiert, aber sie funktionieren nicht, weil ich die supp.select ("CSS SELECTOR") verwende, die nur in der neuesten Version zu funktionieren scheint.
Aber, wie ich schon sagte, es funktionierte gut auf meinem Computer, aber nicht in der Cloud.
Es erfordert keine kostenpflichtige App. Sie müssen es nur in der 'app.yaml' Datei angeben. Außerdem müssen Sie Threadsafe explizit aktivieren oder deaktivieren. –
Ich denke, 2,7 auf GAE ist immer noch in der Beta-Phase. –
@JoelCornett: [Nein] (http://googleappengine.blogspot.co.uk/2012/02/announcing-general-availability-of.html)! –