0

BeautifulSoupを使用しているGoogleAppEngineでアプリケーションを作成しました。最新バージョンの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

dammit.pyの254行目を見ると、次のことがわかります。

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")を使用しているため、機能しません。

しかし、前に言ったように、それは私のコンピューターではうまく機能しましたが、クラウドでは機能しませんでした。

4

1 に答える 1

2

BeautifulSoup4にはPython2.7以降が必要ですが、AppengineにはデフォルトでPython2.5があります。次のいずれかを実行できます。

于 2012-04-15T13:57:57.887 に答える