https://www.ssa.gov/OACT/babynames/index.htmlから名前の人気データを取得するPythonスクリプトを作成しようとしています。 year
(またはyob
)とtop
(トップ10,20など)の2つのリクエストパラメータに基づいて、表形式の出力を返すCGIスクリプト/cgi-bin/popularnames.cgi
があります。異なる年のリクエストURLを渡して、同じtop
の値(例:10
)を渡して、別の年の結果を集計できるようにする必要があります。ただし、リクエストURLが異なるとページが更新されません。 https://www.ssa.gov/cgi-bin/popularnames.cgi?yob=2000&top=10
とhttps://www.ssa.gov/cgi-bin/popularnames.cgi?yob=2004&top=10
の応答ページは同じです。Pythonリクエスト - CGIスクリプトから毎回新鮮なレスポンスを受け取ることができません
>>> QUERY_URL = 'https://www.ssa.gov/cgi-bin/popularnames.cgi'
>>> results_page_04 = requests.get(QUERY_URL, params={'year': 2004, 'top': 10}, headers={'Cache-Control': 'no-cache, no
...: -store, must-revalidate'}).text
>>> results_page_00 = requests.get(QUERY_URL, params={'year': 2000, 'top': 10}, headers={'Cache-Control': 'no-cache, no
...: -store, must-revalidate'}).text
この2つの応答はまったく同じで、実際には応答は奇妙な2015年です。
リクエストを送信する前に設定する必要があるヘッダがありますか(私はrequests
ライブラリを使用しています)。
よろしくお願いいたします。それは動作するようです。 – srm