2016-11-17 5 views
0

私はpythonでmechanizeを使用してフォームに記入しようとしています。私は、コードを実行すると、私はエラーを取得:エラー403:Pythonでrobots.txtが許可しないリクエスト

Error 403:request disallowed by robots.txt.

は、私は同様の問題を持つ以前の回答の質問を経て、br.set_handle_robots(False)を追加すると、それを修正する必要があることを見ましたが、私はまだ同じエラーを取得しています。では、私はここで何が欠けていますか?

import re 
import mechanize 
from mechanize import Browser 
br = mechanize.Browser() 
br.set_handle_equiv(False) 
br.set_handle_robots(False) 
br.addheaders = [('User-agent','Mozilla/5.0 (X11; Linux x86_64; rv:18.0)Gecko/20100101 Firefox/18.0 (compatible;)'),('Accept', '*/*')] 
text = "1500103233" 
browser = Browser() 
browser.open("http://kuhs.ac.in/results.htm") 
browser.select_form(nr=0) 
browser['Stream']=['Medical'] 
browser['Level']=['UG'] 
browser['Course']=['MBBS'] 
browser['Scheme']=['MBBS 2015 Admissions'] 
browser['Year']=['Ist Year MBBS'] 
browser['Examination']=['First Professional MBBS Degree Regular(2015 Admissions) Examinations,August2016'] 
browser['Reg No']=text 
response = browser.submit() 

答えて

1
  1. あなたはbr = mechanize.Browser()を設定し、あなたはbrowser = Browser()を設定しますか?
  2. リンク:http://kuhs.ac.in/results.htmページソースから見ることができれば、ソースは次のとおりです。src="http://14.139.185.148/kms/index.php/results/create"
  3. あなたがフォームの名前を見ることができ、ページのソースから。あなたのケースではStream</labelのでname="Results[streamId]"

である、あなたはこれを試すことができます。

import mechanize 
br = mechanize.Browser() 
br.set_handle_equiv(False) 
br.set_handle_robots(False) 
br.addheaders = [('User-agent','Mozilla/5.0 (X11; Linux x86_64; rv:18.0)Gecko/20100101 Firefox/18.0 (compatible;)'),('Accept', '*/*')] 
text = "1500103233" 
br.open("http://14.139.185.148/kms/index.php/results/create").read() 
for forms in br.forms(): 
    print forms 
br.select_form(nr=0) 
br['Results[streamId]']=['1',] #Medical 
#etc.. 
response = br.submit() 
print response.read() 

あなたはここで見ることができます。このことができますSubmitting a form with mechanize (TypeError: ListControl, must set a sequence)

希望は、それが私の作品!

関連する問題