PythonでPOSTやGETリクエストを送信するにはurllibを使います(標準ライブラリ)。
実際のコーディングの流れとしては、
1.POST(GET)データの辞書データ作成
2.POST(GET)データからURL文字列にエンコード
3.HTTPリクエストの送信
となります。 では、実際のコードにとりかかります。
1.POST(GET)データの辞書データ作成
例でYahooで「Python」と検索する場合には、
#! /bin/usr/env python
# -*- coding:utf-8 -*-
import urllib
reqdata[] = {}
reqdata{'p'] = 'python' #検索文字列を設定
reqdata['search.x'] = 1
reqdata['fr'] = 'top_ga1'
reqdata['tid'] = 'top_ga1'
reqdata['ei'] = 'UTF-8' #文字コード
2.POST(GET)データからURL文字列にエンコード
辞書データ(reqdata)からURL文字列にエンコードするには、urllib.urlencode()を使います。
#辞書データからURL文字列にエンコード
params = urllib.urlencode(reqdata)
3.HTTPリクエストの送信
HTTPリクエストを送信するにはurllib.urlopen()を使います。
・POSTの場合
urllib.urlopen('http://search.yahoo.co.jp/search?',params)
・GETの場合(yahooはGETを要求しているので、こっち)
urllib.urlopen('http://search.yahoo.co.jp/search?' + params)
以上で、POST(GET)リクエストが送信できます。 さて次はgoogle先生に検索リクエストを投げてみましょう。