タグ付けされた質問 「urlopen」

14
Pythonを使用したWebスクレイピングJavaScriptページ
シンプルなWebスクレイパーを開発しようとしています。HTMLコードなしでテキストを抽出したい。実際、私はこの目標を達成しましたが、JavaScriptがロードされている一部のページでは、良い結果が得られなかったことがわかりました。 たとえば、JavaScriptコードがテキストを追加する場合、それを表示できません。 response = urllib2.urlopen(request) 追加されたテキストなしで元のテキストを取得します(JavaScriptがクライアントで実行されるため)。 だから、私はこの問題を解決するためのいくつかのアイデアを探しています。

12
JSONオブジェクトにバイトを受け入れさせるか、出力文字列をurlopenさせます
Python 3では、URLからjsonドキュメントを要求しています。 response = urllib.request.urlopen(request) responseオブジェクトが持つファイルライクオブジェクトreadとreadlineメソッド。通常、JSONオブジェクトは、ファイルをテキストモードで開いて作成できます。 obj = json.load(fp) 私がしたいのは: obj = json.load(response) ただし、urlopenはバイナリモードでファイルオブジェクトを返すため、これは機能しません。 回避策はもちろんです。 str_response = response.read().decode('utf-8') obj = json.loads(str_response) しかし、これは気分が悪い... バイトファイルオブジェクトを文字列ファイルオブジェクトに変換できるより良い方法はありますか?または、いずれかのパラメータurlopenまたはjson.loadエンコーディングを指定するためのパラメータが不足していますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.