薬物情報を問い合わせるためのフォームを送信するために書かれた機械化された Python スクリプトがあります。実行するとエラーメッセージは表示されませんが、応答を見ると、ブラウザのビューソースページに表示されるものではありません。提出後にURLを確認しました:
ここに私が得たものがあります:
http://www.accessdata.fda.gov/scripts/cder/drugsatfda/index.cfm
ここに私が取得するはずのアドレスがあります:
http://www.accessdata.fda.gov/scripts/cder/drugsatfda/index.cfm?fuseaction=Search.DrugDetails
2 番目の URL にクエリ テキストが含まれていませんが、これは Cookie が必要ということですか? もしそうなら、どのように?
これは私のコードスニペットです:
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
....
br.addheaders = [('User-agent', 'Mozilla/6.0 (X11; U; i686; en-US; rv:1.9.0.1) Gecko/2008071615 OS X 10.2 Firefox/3.0.1')]
fda_url2 = 'http://www.accessdata.fda.gov/scripts/cder/drugsatfda/index.cfm?fuseaction=Search.Addlsearch_drug_name'
print br.open(fda_url2).geturl()
for f in br.forms():
print 'this is a form'
print f
br.select_form('searchoptionB')
br.form['ApplNo'] = '018780'
html = br.submit(name = 'Search_Button')
print html.geturl()
印刷フォームの出力は次のとおりです。
<searchoptionB POST http://www.accessdata.fda.gov/scripts/cder/drugsatfda/index.cfm application/x-www-form-urlencoded
<HiddenControl(fuseaction=Search.SearchAction) (readonly)>
<HiddenControl(SearchType=AddlSearch) (readonly)>
<HiddenControl(SearchOption=B) (readonly)>
<TextControl(ApplNo=)>
<SubmitControl(Search_Button=Submit) (readonly)>
<SubmitControl(clearcriteria=Clear) (readonly)>>
長文すみません;p