2013-10-04 54 views
1

我正在用Python学习网络编程,我正在研究的一个练习如下:我正在编写一个Python程序来查询网站“orbitz.com”并返回最低机票价格。出发和到达的城市和日期用于构建URL。用Python查询网页

我做这个用的urlopen命令,如下所示:

(SEARCH_STR包含URL)

from lxml.html import parse 

from urllib2 import urlopen 

parsed = parse(urlopen(search_str)) 

doc = parsed.getroot() 

links = doc.findall('.//a') 

the_link = (links[j].text_content()).strip() 

的想法是检索从查询结果中的所有链接,并搜索字符串,例如作为“Delta”,“United”等,并读取链接旁边的美元金额。

它成功运行到今天 - 它看起来像orbitz.com已更改其输出页面。现在,当您在orbitz.com网站上输入旅行详细信息时,会出现一个页面,显示一个轮子显示“正在查看行程”或其他相关信息。这只是一个填充页面,不包含真实信息。几秒钟后,显示真实结果页面。不幸的是,Python代码每次都会返回填充页的链接,我从来没有获得真正的结果。

我该如何解决这个问题?我是一个相对的网络编程初学者,所以任何帮助非常感谢。

回答

0

这种东西在爬虫世界是正常的。

你需要做的是找出它在“行程页面”之后重定向到的URL,并且直接从你的脚本中打开该URL。

然后弄清楚他们是否已经更改了最终搜索结果页面,如果是这样,请修改脚本以适应这些更改。

+0

谢谢。但是,我仍然坚持。它看起来像填充符的URL与结果页面的URL完全相同。或者也许真正的网址没有被显示。你能告诉我如何获得URL,如果它没有显示在浏览器中? – Aravind

+0

除非你告诉我什么是网站,什么是网址我不能帮助... –