2016-02-24 3 views
-1

Я новичок в Python, и сейчас я работаю над решением проблем, чтобы улучшить свои навыки кодирования. Существует веб-страница, где мне нужно отправлять такие данные, как Name, Language (это выпадающий список), номер телефона и обратная связь. Моя идея здесь состоит в том, чтобы автоматизировать этот процесс, используя скрипт python. Вы можете найти код и детали ниже:Опубликовать большой объем данных на веб-сайте с помощью Python 2.7

import urllib2 
import requests 
url = "http://example.com/feedback_details" 

try: 
    with open('review.txt', 'r') as myfile: 
     data1=myfile.read() 
    payload = {'Name:': '200272YV', 
       'Language:': 'Python 2.7', 
       'Phone Number:': '123456789', 
       'Feedback (not more than 200 characters):' = 'data1' 
       } 
    requests.post(url, data=payload) 

except urllib2.HTTPError, err: 
    print err.fp.read() 
    print "Page Not Found" 

Я написал отзыв в текстовом документе под названием review.txt и я прочитал все содержимое в этом файле в переменной с именем data1. Поэтому теперь я хочу указать это имя переменной в 'Feedback (not more than 200 characters):' = как данные, чтобы все содержимое файла могло быть связано с этим. Но я не могу назначить переменную. Как я могу отправить полное содержимое в текстовый файл и назначить его полезной нагрузке. Кроме того, как я могу проверить, успешно ли эта публикация выполнена или нет. Может кто-нибудь сказать мне, где я делаю неправильно. Является ли мой подход неправильным или поток неправильный. Заранее спасибо. Любая помощь приветствуется.

+0

* Но я не могу назначить в качестве переменной * - Почему вы не можете назначить его в качестве переменной? –

+0

, когда я пытаюсь назначить '' Обратная связь (не более 200 символов): '= data1', он выдает неверную синтаксическую ошибку – Dev

+0

Я не уверен, могу ли я назначить ее следующим образом: '' Обратная связь (не более 200 символы): '=' data1'', поскольку он примет ответ как data1, а не содержимое файла. – Dev

ответ

1

Правильный синтаксис:

import urllib2 
import requests 
url = "http://example.com/feedback_details" 

try: 
    with open('review.txt', 'r') as myfile: 
     data1=myfile.read() 
    payload = {'Name:': '200272YV', 
       'Language:': 'Python 2.7', 
       'Phone Number:': '123456789', 
       'Feedback (not more than 200 characters)': data1 
       } 
    requests.post(url, data=payload) 

except urllib2.HTTPError, err: 
    print err.fp.read() 
    print "Page Not Found" 
+0

Спасибо. узнал мою ошибку. есть кнопка отправки, которую я havent нажал, но будет 'request.post (url, data = payload)' помощь при отправке данных и переходе на следующую страницу? – Dev