自然言語処理では、しばしばコーパスを作るためにWeb上のリソースを利用します。そのためにスクレイピングをするのですが、大量のリクエストを特定のサイトに送るとBanされる可能性があります。今回はそれを防ぐ一つの方法を書きます。(悪用厳禁) TL;DR 概要 コード例 metadata.py requestsを使った接続 サーバリストの見つけ方 参考 TL;DR VPNを使おう。 概要 nordvpnのようなVPNを使えば、数十の国の数千のサーバを利用することができます。もし、これらの膨大なサーバリストを使ってスクレイピングに利用することができれば、以下の2つのメリットがあります: ランダムにIPを変え続ければブロックされる可能性が下がり、仮にブロックされても別のサーバーのIPを使えばいい。 複数のサーバのIPを利用してスクレイピングするので、並列化すれば、time.sleepの間隔を長めにし
requestsを使ってAPIからデータ取ろうと思った時に調べたこと。 まずはリトライ設定をしつつAPIの内容をローカルファイルにダウンロードする処理。リトライについてはAdapterを使うらしい。下記を参考にした。 http://www.mobify.com/blog/http-requests-are-hard/ ダウンロードする方法として、下記Stackoverflowのページを参考にした。requests.getにstream=Trueを設定することでファイルサイズが大きくてもメモリサイズを食わずにダウンロードできる。 http://stackoverflow.com/questions/16694907/how-to-download-large-file-in-python-with-requests-py import requests def download(url, o
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く