मैं किसी दस्तावेज़ को पार्स करने के लिए BeautifulSoup v4 का उपयोग करने का प्रयास कर रहा हूं। मैं note.content पर BeautifulSoup फोन है, जो एक स्ट्रिंग Evernote के API द्वारा दिए है:Google ऐप इंजन पायथन 2.7 + एलएक्सएमएल = यूनिकोड पार्सररर
soup = BeautifulSoup(note.content)
मैं अपने app.yaml फ़ाइल में lxml सक्षम की हैं:
libraries:
- name: lxml
version: "2.3"
ध्यान दें कि यह अपने स्थानीय विकास पर काम करता है सर्वर।
त्रुटि ट्रेस:: हालांकि, जब Google के क्लाउड के लिए तैनात मैं निम्नलिखित त्रुटि मिलती है
Unicode parsing is not supported on this platform
Traceback (most recent call last):
File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1511, in __call__
rv = self.handle_exception(request, response, e)
File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1505, in __call__
rv = self.router.dispatch(request, response)
File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1253, in default_dispatcher
return route.handler_adapter(request, response)
File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1077, in __call__
return handler.dispatch()
File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 547, in dispatch
return self.handle_exception(e, self.app.debug)
File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 545, in dispatch
return method(*args, **kwargs)
File "/base/data/home/apps/s~ever-blog/1.356951374446096208/controller/blog.py", line 101, in get
soup = BeautifulSoup(note.content)
File "/base/data/home/apps/s~ever-blog/1.356951374446096208/lib/bs4/__init__.py", line 168, in __init__
self._feed()
File "/base/data/home/apps/s~ever-blog/1.356951374446096208/lib/bs4/__init__.py", line 181, in _feed
self.builder.feed(self.markup)
File "/base/data/home/apps/s~ever-blog/1.356951374446096208/lib/bs4/builder/_lxml.py", line 62, in feed
self.parser.feed(markup)
File "parser.pxi", line 1077, in lxml.etree._FeedParser.feed (third_party/apphosting/python/lxml/src/lxml/lxml.etree.c:76196)
ParserError: Unicode parsing is not supported on this platform
अद्यतन:
मैं parser.pxi की जाँच की है, और मैं कोड की इन पंक्तियों पाया जो त्रुटि उत्पन्न हुई:
elif python.PyUnicode_Check(data):
if _UNICODE_ENCODING is NULL:
raise ParserError, \
u"Unicode parsing is not supported on this platform"
मुझे लगता है कि जीएई के तैनाती पर्यावरण के बारे में कुछ होना चाहिए जो इस त्रुटि का कारण बनता है , लेकिन मुझे यकीन नहीं है कि क्या।
अद्यतन 2:
क्योंकि BeautifulSoup स्वचालित रूप से अन्य पारसर्स पर वापस आ जाएगा, मैं पूरी तरह से अपने आवेदन से lxml को हटाने के समाप्त हो गया। समस्या को ठीक करने के लिए।
आप SDK या उत्पादन में उपयोग करते हुए इस त्रुटि है? (अथवा दोनों)। – proppy
केवल उत्पादन में; यह स्थानीयहोस्ट के साथ एसडीके पर ठीक काम करता है। – zzz
मुझे एक ही समस्या है, और lxml को हटाकर उतरा। हालांकि, पायथन के html.parser की उदारता काफी खराब है और इसके कारण मेरे अधिकांश पृष्ठों को पार्स नहीं किया जाता है –