2013-07-31 83 views

Trả lời

0

Tôi sẽ sử dụng urllib2urllib để gửi bài đăng.

Đỗ một cái gì đó như thế này:

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 

bạn nên cấu trúc nó một chút như thế.

Để lấy tên biểu mẫu bạn cần xem mã nguồn của trang web và tìm tên của biểu mẫu bạn muốn nhập và gửi.

Hope this helps

Good Luck :)

+1

tự không được định nghĩa – TSR

+0

@TSR Oops! Chỉ cần thoát khỏi tự! Tôi phải lấy mã ra khỏi một lớp học mà tôi đã viết và quên cởi bỏ bản thân! – Serial

12

Đầu tiên pip install requests

Bạn phải đăng một số dữ liệu mẫu cụ thể cho một url cụ thể, bạn có thể sử dụng requests.The dict form_data params là phóng viên đến tùy chọn, nếu bạn không cần một số tùy chọn, chỉ cần xóa nó khỏi 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) 
0

Đây là kịch bản của tôi mà hoạt động:

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) 
Các vấn đề liên quan