मैं जंगली वेब से मनमाने ढंग से दस्तावेजों को डाउनलोड करने की कोशिश कर रहा हूं, और हाँ, मेरे पास उनकी सामग्री का कोई नियंत्रण नहीं है।सुंदर सूप यूनिकोड एन्कोडररर "रेंज (128)"
Beautiful Soup won't choke if you give it bad markup... के बाद से मुझे आश्चर्य है कि क्यों यह मुझे उन देहाती अप दे रही है जब कभी कभी, दस्तावेज़ के हिस्सा विकृत है, और वहाँ यह दस्तावेज़ के अगले पठनीय हिस्से को फिर से शुरू, इस पर ध्यान दिए बिना बनाने के लिए एक तरीका है कि क्या त्रुटि।
लाइन जहां त्रुटि 3 एक हुआ है:
from BeautifulSoup import BeautifulSoup as doc_parser
reader = open(options.input_file, "rb")
doc = doc_parser(reader)
CLI पूर्ण उत्पादन होता है:
Traceback (most recent call last):
File "./grablinks", line 101, in <module>
sys.exit(main())
File "./grablinks", line 88, in main
links = grab_links(options)
File "./grablinks", line 36, in grab_links
doc = doc_parser(reader)
File "/usr/local/lib/python2.7/dist-packages/BeautifulSoup.py", line 1519, in __init__
BeautifulStoneSoup.__init__(self, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/BeautifulSoup.py", line 1144, in __init__
self._feed(isHTML=isHTML)
File "/usr/local/lib/python2.7/dist-packages/BeautifulSoup.py", line 1186, in _feed
SGMLParser.feed(self, markup)
File "/usr/lib/python2.7/sgmllib.py", line 104, in feed
self.goahead(0)
File "/usr/lib/python2.7/sgmllib.py", line 143, in goahead
k = self.parse_endtag(i)
File "/usr/lib/python2.7/sgmllib.py", line 320, in parse_endtag
self.finish_endtag(tag)
File "/usr/lib/python2.7/sgmllib.py", line 358, in finish_endtag
method = getattr(self, 'end_' + tag)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 15-16: ordinal not in range(128)
आप सुंदर सूप को किस तरह का इनपुट खिला रहे हैं? त्रुटि संदेश के मुताबिक, हो सकता है कि आप कुछ गैर-असीसी डेटा पार्स कर रहे हों (उदाहरण के लिए गैर-लैटिन वर्ण हैं)? –
मैं पार्सिंग डेटा जंगली वेब से आता हूं, और इसके कुछ हिस्से निश्चित रूप से गैर-असीसी हैं। –