我正在编写一个 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')