問題タブ [urlopen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonでurlopenコマンドをあきらめて先に進むにはどうすればよいですか?
Python 2.7
Web ページをダウンロードするスクリプトに取り組んでいます。ほとんどの場合、すべてが計画どおりに進みます。このスクリプトには何千もの Web ページをダウンロードする必要があるため、うまくいかないことが数回発生することは避けられません。スクリプトは aURLError
またはの場合にあきらめて続行しHTTPError
ますが、すべてがハングする場合があり、手動でヒットCtrl-Z
するかCtrl-C
、これを停止する必要があります。問題のコード:
試してみましたがsignal.alarm
、常に機能するとは限りません。urlopen でタイムアウト パラメータを試しましたが、うまくいきません。
特定の秒数が経過すると、スクリプトが自動的にあきらめて続行することを確認する信頼できる方法はありますか? urlopen 以外のものを使用する必要がありますか?
python - urllib2 で URL をロードするときに TCP_NODELAY フラグを設定するには?
Webページのロードにurllib2を使用しています。コードは次のとおりです。
設定するソケットのプロパティを取得するにはどうすればよいTCP_NODELAY
ですか?
通常のソケットでは、関数を使用します:
http - Python 2.7.3 を使用した HTTP リクエスト
この文字列の文字列の結果は、URL www.test.comです。
www.test.com が4という番号の Web サイトであることはわかっています。プログラムに数値を整数として保存します。
しかし、私は受け取るだけです:
無線は大丈夫です、私はインターネットに接続しています。
python - https jsonファイルをロードするときのUbuntuでのurllib2 python例外
json ファイルを読み込もうとしていますが、例外がスローされます。
これは私のコードです(テスト/デバッグの目的でシェルで実行しました):
VMWareで仮想化されたUbuntu 12.04(64ビット)BitnamiのDjango Stack 1.4.3-0を使用しています。
しかし、私は興味があり、ホスト マシン (Windows 7 64 ビット) で同じ正確なコードを試しました。そこでは、Python の同じ正確なバージョンもインストールされており、何を推測します...それは完璧に機能しました。
ウィンドウの出力は次のとおりです。
Ubuntu でこの問題を解決するにはどうすればよいですか? リクエスト内のユーザー エージェントなどを変更しようとしましたが、結果は Ubuntu でも常に同じでした。
また、jsonファイルを手動でコピーしてドロップボックスにアップロードし、上記と同じコードを実行しましたが、ドロップボックスのURLを使用すると、両方のシステムで問題なく動作しました。
皆さんが私を助けてくれることを願っています。これは私を夢中にさせており、私のプロジェクト全体はそのおかしなAPIに依存しています:(
事前に感謝し、私の下手な英語で申し訳ありません.
python - ピラミッドでの gevent の使用
ピラミッドを使用して Web サイトを構築しており、他の Web サイトからデータを取得したいと考えています。の呼び出しが 50 回以上ある可能性があるためurlopen
、gevent を使用して速度を上げたいと考えました。
geventを使用してこれまでに得たものは次のとおりです。
実行すると次のようになりpserve development.ini --reload
ます。
NotImplementedError: gevent is only usable from a single thread
.
何よりも先にパッチを適用する必要があると読んだことがありますが、そのための適切な場所がどこにあるのかわかりません。また、これは保存固有の問題ですか? mod_wsgiに移行するときに、この問題を再度解決する必要がありますか? または、gevent なしでこのユースケース (単に urlopen) を処理する方法はありますか? リクエストの提案を見たことがありますが、ドキュメントで複数のページをフェッチする例を見つけることができませんでした。
更新 1:
私もこのSOの質問からイベントレットを試しました(このイベントレットの例からほぼ直接コピーされました):
しかし、私が電話するとfetch_multiple
、私は得ていますTypeError: request() got an unexpected keyword argument 'return_response'
更新 2:
以前の更新のTypeError
原因は、以前に gevent を使用してモンキーパッチを試み、pserve を適切に再起動しなかったことが原因である可能性があります。すべてを再起動すると、正常に動作します。学んだ教訓。
python - urlopen のエラー: 引用符で囲まれていないフィールドに改行文字が表示される
Python 2.7 で urllib.urlopen を使用して、外部 Web サーバーにある csv ファイルを読み取ります。
最近更新されたものを除いて、100以上のファイルはすべて正常に読み取ることができます。
ファイルはここからアクセスできます。私のテキスト エディターによると、そのモードは Mac (CR) であり、他のファイルの Windows (CRLF) とは対照的です。
このスレッドに基づいて、python urlopen は改行のすべての形式を正しく処理することがわかりました。したがって、問題は別の場所から発生する可能性があります。私には手がかりがありません。ファイルは、すべてのテキスト エディターとスプレッドシート エディターで問題なく開きます。
問題を診断する方法を知っている人はいますか?
* 編集 *
ファイルの作成者は、このような問題を経験したのは私だけではないことを電子メールで知らせてくれました。したがって、彼はもう一度作ることにしました。上記のコードは正常に動作するようになりました。残念ながら、新しいファイルを使用すると、問題を再現できなくなり、解決策が適切にテストされます。
質問を締めくくる前に、解決策を見つけてここに投稿するために時間を費やしてくれたすべてのスタッカーに感謝したいと思います.
python - urllib2.openurlがGoogle特許で機能しない
私はグーグル特許からいくつかのデータを取得しようとしています、そして私のコードの始まりは次のようになります:(これは以下にリストされたURLへのハイパーリンクです)
これはエラーメッセージをスローします:
なぜ私がこれを手に入れているのかわかりません。
編集:
代わりに試してみるとurllib.openurl
、もう少し先に進みます。
この画像には、エラーメッセージ全体が示されています。
python - Python を使用して Google Patents にアクセスしようとすると 503 エラーが発生する
今日の初めに、以下のコードを使用して Google Patents からデータを引き出すことができました
実行しようとすると、次の 503 エラーが発生します。このコードをおそらく 30 回ループしただけです (30 人のリストが所有するすべての特許を取得しようとしています)。
python - urlopen(IP).read() で http.client.BadStatusLine を取得する
読み込もうとしているデータは xml 形式です。xml 宣言の前に単一のスペースがあります。この部分はデータ ソースにハード コードされているため、編集できません。そこからしか読めません。URLがIEに入力されると、データが表示されます。Chrome/Firefox で入力すると、エラーが表示されますが、ビュー ソースからデータを表示できます。
このスペースを削除するか、IEのように無視する方法はありますか?
strip()
(多くの場所で追加しようとしました)
または、ページ ソースをデフォルトにする方法はありますか (urlopen は既にこれを行っていると思います)。
エラーを示す行は次のとおりです。
エラーは次のとおりです。