如果我手动尝试在浏览器中执行它,它可以工作,如果我输入第一个 url,然后输入第二个 url。但是如果我不输入第一个 url,第二个 url 失败。所以,我试图以编程方式使用第一个 url 获取 cookie 并在第二个 url 中使用它们。但它仍然给我 http 500 错误。请帮帮我。
到目前为止我的代码:
import urllib, urllib2, cookielib
cookie_jar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
urllib2.install_opener(opener)
# acquire cookie
url_1 = 'http://www.nsf.gov/awardsearch/simpleSearchResult?queryText=9&ActiveAwards=true'
req = urllib2.Request(url_1)
rsp = urllib2.urlopen(req)
# make 2nd request
url_2 = 'http://www.nsf.gov/awardsearch/ExportResultServlet?exportType=txt'
req = urllib2.Request(url_2)
rsp = urllib2.urlopen(req)
content = rsp.read()
# print result
import re
pat = re.compile('Title:.*')
print pat.search(content).group()