私はこの1つのようなGoogleの-フォームに回答を提出することが可能となるのPythonスクリプトを記述しようとしている: https://docs.google.com/forms/d/152CTd4VY9pRvLfeACOf6SmmtFAp1CL750Sx72Rh6HJ8/viewformGoogleフォームによるPythonの応答?
しかし、どのように、私は実際にPOSTを送信し、どのように私は見つけることができ、どのような本POSTには実際に含まれるべきですか?
私はこの1つのようなGoogleの-フォームに回答を提出することが可能となるのPythonスクリプトを記述しようとしている: https://docs.google.com/forms/d/152CTd4VY9pRvLfeACOf6SmmtFAp1CL750Sx72Rh6HJ8/viewformGoogleフォームによるPythonの応答?
しかし、どのように、私は実際にPOSTを送信し、どのように私は見つけることができ、どのような本POSTには実際に含まれるべきですか?
私はurllib2
とurllib
を使用して投稿を送信します。
このような何か:あなたは少しそのようにそれを構築する必要があり
import urllib2, urllib
import cookielib
cookieJar = cookielib.LWPCookieJar()
opener = urllib2.build_opener(
urllib2.HTTPCookieProcessor(self.cookieJar), # Create Opener
urllib2.HTTPRedirectHandler(),
urllib2.HTTPHandler(debuglevel=0))
# Add Headers
opener.addheaders = [('User-agent', "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36")]
forms = {
"formname": value, # The forms name and the selected value you want
"formname2": value2,
}
data = urllib.urlencode(forms) # Encode data
req = urllib2.Request('http://www.example.com',data) # Send Request
res = opener.open(req) # Open Request
html = res.read() # Read Response
を。
フォーム名を取得するには、サイトのソースコードを確認し、入力して送信するフォームの名前を確認する必要があります。
これは
幸運を役に立てば幸い:)
まずpip install requests
あなたは、特定のURLにいくつかの特定のフォームデータをポストする必要があり、あなたがrequests.Theを使用することができますform_data辞書のparamsに対応していますオプションが必要な場合は、form_dataから削除するだけです。ここで
import requests
url = 'https://docs.google.com/forms/d/152CTd4VY9pRvLfeACOf6SmmtFAp1CL750Sx72Rh6HJ8/formResponse'
form_data = {'entry.2020959411':'18+ sollte absolute Pflicht sein',
'entry.2020959411':'Alter sollte garkeine Rolle spielen',
'entry.2020959411':'17+ wäre für mich vertretbar',
'entry.2020959411':'16+ wäre für mich vertretbar',
'entry.2020959411':'15+ wäre für mich vertretbar',
'entry.2020959411':'Ausnahmen von der Regel - Dafür?',
'entry.2020959411':'Ausnahmen von der Regel - Dagegen?',
'entry.2020959411':'__other_option__',
'entry.2020959411.other_option_response':'test',
'draftResponse':[],
'pageHistory':0}
user_agent = {'Referer':'https://docs.google.com/forms/d/152CTd4VY9pRvLfeACOf6SmmtFAp1CL750Sx72Rh6HJ8/viewform','User-Agent': "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.52 Safari/537.36"}
r = requests.post(url, data=form_data, headers=user_agent)
は働く私のスクリプトです:
import urllib
import urllib2
user_agent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)'
header={'User-Agent' : user_agent}
url = "http://....Your google form"
# values from your form. You will need to include any hidden variables if you want to..
values= {
'entry.asdfsdfsdasd': 'asdfasdfsd',
'draftResponse':'[,,"-asdfasdasdf"]',
'pageHistory':'0',
'fbzx':'-asdfasdfsd'
}
data = urllib.urlencode(values)
urllib2.Request(url, data, header)
自己がおっと – TSR
@TSRが定義されていません!ちょうど自己を取り除く!私は書いた授業のコードを外して、自己を離れるのを忘れてしまったに違いない! – Serial