1

さて、私は少しイライラし始めています。github と here の両方で、スクリプトが機能しない理由を突き止めるために、ほとんどの時間を費やしました。それはかなり単純なはずです。ページの読み込み、フォームの入力、フォームの送信を機械化し、会社情報を含む新しいページを開き、コンテンツを投稿します。うまくいきません。コードを確認すると、正しいフォームが入力されていることがわかりますが、mechanize がフォームを送信した後、新しいページには移動せず、フォームに入力したページにとどまります。コードは次のようになります。

from mechanize import Browser

br = Browser()

url = "http://cvr.dk/Site/Forms/CMS/DisplayPage.aspx?pageid=0"

cvr = br.open(url).read()

#I select the form
br.select_form(name="aspnetForm")

#I fill in 19997049 as a company number
br.form['ctl00$QuickSearch1$CvrTextBox'] = "19997049"

response = br.submit()

content = response.read()

print content

私はそれが非常に単純だと感じていますが、フォームが送信されたときに発生するはずのリダイレクトで何かが欠けていると感じています。

編集: サイトにはたくさんの JavaScript があるようです。それが理由かも?そして、オプションはいつですか?

EDIT2: わかりました。URL に会社番号を追加するだけで目的のページを取得できるようですが、このスクリプトが機能しない理由についてはまだ戸惑っています。

フィードバックをお寄せいただきありがとうございます

4

1 に答える 1

3

使用するボタンを指定する必要があります。

response = br.submit(name='ctl00$QuickSearch1$CvrSearchButton')

これは機能しますが、倫理的なジレンマである robots.txt で問題が発生します。

于 2012-12-29T00:58:36.813 に答える