0

ブラウザで手動で実行しようとすると、最初の URL に続いて 2 番目の URL を入力すると機能します。しかし、最初の URL を入力しないと、2 番目の URL は失敗します。最初の URL を使用して Cookie を取得し、それらを 2 番目の 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()
4

1 に答える 1

0

最初の URL に続いて 2 番目の URL を入力すると、500 エラーが発生します。別の方法として、機械化を使用して、運が良いかどうかを確認することもできます。最初の URL の開始引用符がありません。

于 2013-04-21T01:24:15.073 に答える