使用python从网页获取所有数据

使用python从网页获取所有数据,python,html,webforms,Python,Html,Webforms,这是我之前问过的问题的后续问题(看一看) 我正在使用python填充一个Web表单,并使用urlrequest发送编码的请求,然后打印收到的响应,我发现我没有得到所有信息(与在浏览器中查看“显示源代码”时得到的信息相比)。经调查后,我了解到回复仅包括网页的静态html部分,而非所有内容 所以基本上,问题是我如何获得我正在寻找的信息的特定部分,具体的例子,比如说我在希尔顿酒店的网站上填写一份网络表单,我得到的回复不包括价格, 你能告诉我如何从这样一个网站获得“价格”吗? 这是我使用的基本代码: u

这是我之前问过的问题的后续问题(看一看)

我正在使用python填充一个Web表单,并使用urlrequest发送编码的请求,然后打印收到的响应,我发现我没有得到所有信息(与在浏览器中查看“显示源代码”时得到的信息相比)。经调查后,我了解到回复仅包括网页的静态html部分,而非所有内容

所以基本上,问题是我如何获得我正在寻找的信息的特定部分,具体的例子,比如说我在希尔顿酒店的网站上填写一份网络表单,我得到的回复不包括价格, 你能告诉我如何从这样一个网站获得“价格”吗?

这是我使用的基本代码:

url = 'http://www3.hilton.com/en/index.html'
query_args = { 'searchQuery':' New York, NY', 'arrivalDate':'31 Oct 2013'....}
data = urllib.parse.urlencode(query_args)
request = urllib.request.Request(url);
binary_data = data.encode(encoding= 'utf-8')
response = urllib.request.urlopen(request,binary_data)
html = response.read() 
print (html)

谢谢。

除非您的请求不同,否则您得到的响应应始终与您在浏览器中看到的响应相同。尝试复制粘贴并将其与您的响应进行比较。如果您试图提取的信息是用javascript插入页面的,则必须使用能够执行javascript的工具,例如selenium。您可以使用Firebug(在Firefox中)来查看页面如何与服务器“对话”。也许页面使用javascript(和AJAX)来获取更多信息。或者页面发送一些cookie、会话号、不同的用户代理和服务器发送更多信息。