スポンサードリンク

検索結果一覧を自動取得したい

検索サービスを提供しているWEBページに対して、検索を実行しその結果ページの内容を取得したいということで、
Pythonを使って検索要求を投げ、その結果ページをスクレイピングするプログラムを実装したいと思います。

環境は「AnacondaでWindows上にPython環境を構築」で構築したWindows上のものを使用します。

PythonのRequestsモジュールを使用します。

RequestsはすでにAnacondaに含まれているようなので、これを使用します。

今回は、Requestsを使って検索リクエストを送信します。

サンプルとして、「python」をYahoo!検索した結果を取得するプログラムを実装してみます。

これだけでできてしまいました。

URLやパラメーターに使用している値は、Yahoo!のソースを見て取得しました。

検索を行うformタグのURLが「http://search.yahoo.co.jp/search」になっていて、
キーワードを入力するボックスが「p」になっていたので、
paramsに「’p’:’python’」を指定します。
paramsのほかの値は、form内でhiddenで設定されていたものを入れました。

検索リクエストを送信するのは、「response = requests.get(url, params)」の1行だけです。
Yahoo!ページ内のformタグのmethodが「get」になっていたので、
「requests.get」を使用します。
引数にurlとparamsを指定するだけです。

検索結果はresponse内に入っているので、テキストとして取り出すには
「response.text」とすればOKです。

びっくりするほど簡単でした。

スポンサードリンク