Вопрос по python – Ошибка BeautifulSoup в Google Appengine

0

Я сделал приложение в Google App Engine, который использует Beautiful Soup. Я использую его последнюю версию,http://www.crummy.com/software/BeautifulSoup/bs4/download/4.0/, Все работало нормально, пока я не загрузил его в GAE. Затем произошло то, что я получил эту ошибку:

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

Когда я смотрю на строку 254 в dammit.py, я нахожу это:

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)

Я действительно не вижу, что не так. Я пробовал другие версии BS, но они не работают, потому что я использую soup.select ("CSS SELECTOR"), который, кажется, работает только в последней версии.

Но, как я уже говорил, он отлично работал на моем компьютере, а не в облаке.

Ваш Ответ

1   ответ
2

но в Appengine по умолчанию установлен Python 2.5. Вы также можете:

Use Python 2.7 on Appengine (Edit: doesn't require a paid app. Thanks Grewe.)

Use BeautifulSoup 3 for now.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededNope!
Error: User Rate Limit ExceededPython 2.7 is GA
Error: User Rate Limit Exceededapp.yamlError: User Rate Limit Exceeded

Похожие вопросы