概要
- スクレイピングはBeautifulSoup4
- async, await がよく分かってない
- どうやらurllib.requestのurlopenは同期処理?なのでaiohttpを使うのかな?
やりたいこと
たとえば、ユニークなドメインのURLが10個あって、すべてのURLからbody
タグ内を引っ張ってきたいとしたとき。
一つのURLに対してのリクエストは一回だけなので、10個のURLを1個ずつ処理するより並列でそれぞれ処理(HTTPリクエスト?)したほうが、取得する順番はどうでもいいですし、処理にかかる時間を相当短縮できるのでは?と思ったわけです。
(全然並列処理について分かってないのでトンチンカンなこと言ってたら叱ってください)
ここ2日ほどGoogle先生やQiitaで調べまくってみましたが、色々な書き方や事例がありすぎていまいちよく分かってません・・・
(単に頭が弱いというのが一番かもしれないですが)
拾ってきたコードをデバッグして処理を追ってみたりしましたが、あまり効果はなかったようです。
というわけで、**複数のURLを1つずつではなく、いっぺんに処理がしたい。**というのが私の願望でございます。
教えてください
-
超個人的にはPython3.5からの
async
/await
を使用していきたい(使い方分かってないけど...)です -
async
/await
の使い方を含めて、上記のような非同期スクレイピングをするにはどういったコードを書くのが良いでしょうか? -
とにかく**複数のURLを1つずつではなく、いっぺんに処理がしたい。**ので、なんでも構いません、なにか方法を教えてください。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/07 04:42
2017/05/07 06:47
2017/05/07 12:37