このリンクからデータを取得するPythonスクリプトを作成しています:http://emma.msrb.org/MarketActivity/RecentOS.aspx。確認ページをバイパスするようにスクリプトを構成し(Cookieを使用)、POSTリクエストを使用して、デフォルトの「今日」ではなく「すべての新しい問題」に到達する方法を理解しましたが、今は19ページすべてを循環する必要があります。
POSTリクエストは次のようctl00$gridViewPagingUserControl$page2LinkButton
になります。しかし、それを使用しても必要なものが得られません。
Python Requestsモジュールを使用していますが、urllib / urllib2でも試してみましたが、どちらも機能しないようです。
基本的に、必要なページにアクセスするために複数の/連続したPOSTリクエストを送信するにはどうすればよいですか?
私のサンプルコードは以下の通りです。使用post_requests_1
は正常に機能しますが、post_requests_2
機能しません。
# Cookies
cp = urllib2.HTTPCookieProcessor()
cj = cp.cookiejar
cj.set_cookie(cookielib.Cookie(0, 'Disclaimer', '247245968.1342815275.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)', '80', False, '.emma.msrb.org', True, False, '/', True, False, None, False, None, None, None))
post_requests_1 = { r'__EVENTTARGET' : r'ctl00$mainContentArea$allNewIssuesLinkButton', r'__EVENTARGUMENT' : r'' }
post_requests_2 = { r'__EVENTTARGET' : r'ctl00$mainContentArea$gridViewPagingUserControl$page2LinkButton', r'__EVENTARGUMENT' : r'' }
html = requests.post('http://emma.msrb.org/MarketActivity/RecentOS.aspx', data = post_requests_1, cookies = cj)
print html.text.encode('utf-8')