vagrantを使って、仮想環境でwebのクロ―リングを実行すると、オーバーフローしてしまいます。インタラクティブシェルを使い、直接pythonでコードを実行するとうまくいきます。なぜでしょうか。
vagrantでメモリエラーにならないような設定があるのでしょうか。
コードは以下のような、metaタグを取得してエンコーディングするだけのものです。
pyhton
1import re 2import sys 3from urllib.request import urlopen 4 5f = urlopen("https://www.yahoo.co.jp/") 6bytes_content = f.read() 7 8scanned_text = bytes_content[:1024].decode("ascii", errors="replace") 9 10match = re.search(r'charset=["\']?([\w-]+)', scanned_text) 11if match: 12 encoding = match.group(1) 13else: 14 encoding = "utf-8" 15 16print("encoding:", encoding, file=sys.stderr) 17text = bytes_content.decode(encoding) 18print(text)
あなたの回答
tips
プレビュー