【问题标题】:Post large amount of data into a website using Python 2.7使用 Python 2.7 将大量数据发布到网站中
【发布时间】:2016-02-24 18:24:19
【问题描述】:

我是 Python 新手,目前正在努力解决问题以提高我的编码技能。有一个网页,我需要在其中发布姓名、语言(这是一个下拉列表)、电话号码和反馈等数据。我的想法是使用 python 脚本自动化这个过程。请在下面找到代码和详细信息:

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):' = 中给这个变量名作为数据,以便文件中的整个内容都可以与此相关。但我无法分配为变量。如何发送文本文件中的完整内容并将其分配给有效负载。另外,我如何检查此发布是否成功完成。有人可以告诉我我在哪里做错了。我的方法是错误的还是流程是错误的。提前致谢。任何帮助将不胜感激。

【问题讨论】:

  • 但我无法将其分配为变量 - 为什么不能将其分配为变量?
  • 当我尝试分配'Feedback (not more than 200 characters):' = data1时,它会抛出一个无效的语法错误
  • 无效的语法。你有一个等号而不是冒号。
  • 'Feedback (not more than 200 characters)': = data1
  • 应该是'Feedback (not more than 200 characters):' : data1,字典用冒号,不是等号

标签: python urllib2 filehandle


【解决方案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"

【讨论】:

  • 谢谢。知道我的错误。有一个我没有点击的提交按钮,但是requests.post(url, data=payload) 会帮助提交数据并转到下一页吗?
猜你喜欢
  • 1970-01-01
  • 2012-04-18
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多