Python 如何使用urllib填写表单和收集数据?
我来自一个科学计算和数字运算的世界 我正试图与互联网互动以编译数据,这样我就不必这么做了。其中一项任务是在Marriott.com上自动填写搜索结果,这样我就可以自己查看哪些是最好的交易 我尝试过一些简单的事情,比如Python 如何使用urllib填写表单和收集数据?,python,urllib2,urllib,Python,Urllib2,Urllib,我来自一个科学计算和数字运算的世界 我正试图与互联网互动以编译数据,这样我就不必这么做了。其中一项任务是在Marriott.com上自动填写搜索结果,这样我就可以自己查看哪些是最好的交易 我尝试过一些简单的事情,比如 import urllib import urllib2 url = "http://marriott.com" values = {'Location':'New York'} data = urllib.urlencode(values) website = urll
import urllib
import urllib2
url = "http://marriott.com"
values = {'Location':'New York'}
data = urllib.urlencode(values)
website = urllib2.Request(url, data)
response = urllib2.urlopen(website)
stuff = response.read()
f = open('test.html','w')
f.write(stuff)
我的问题如下:
我怎么知道一个简单的“帖子”会起作用
您需要阅读和分析相关方的HTML代码。每一个浏览器都有合适的工具来检查站点的DOM,分析网络流量和请求 通常,您希望使用“机械化”模块来执行与网站的自动化交互。无法保证这在任何情况下都能奏效。如今,许多网站使用AJAX或更复杂的客户端编程,这使得很难用Python“模仿”人类用户 除此之外:mariott.com网站不包含输入字段“Location”…所以你是在分析URL参数的形式和功能后猜测这些参数的
test.html
),并在浏览器中查看该文件,并将其与实际请求响应进行比较“位置”
实际上应该是“destinationAddress.destination”
这是一张照片:
因此,查看HTML代码以获得表单的名称,这就是字典中应该包含的内容。我知道Google Chrome和Mozilla Firefox都有查看html结构的工具(在我使用Google Chrome中inspect元素的图片中)我真的希望这能有所帮助:)您也可以看看urllib可能没有用处的地方(JS、AJAX等) 用于查找表单参数可能很有用。的可能重复项