在linux服务器中运行Selenium浏览器以获取白名单URL

时间:2016-11-04 21:13:15

标签: python linux selenium networking firewall

我们已经为Red Hat Linux Server配置了运行python api以进行网页抓取。此服务器不对世界各地的所有链接开放。 URL必须列入白名单才能在该网站上进行访问。

我们已将itunes,Vudu.com和Target.com列入白名单

运行Selenium时,我们可以从iTunes成功获取。但面对Target和Vudu的以下问题。

from selenium import webdriver
display = Display(visible=0, size=(1366,768))
display.start()
driver = webdriver.Firefox()

对于iTu​​nes,

driver.get("https://itunes.apple.com/us/movie/the-angry-birds-movie/id1100915157")
result = driver.find_element_by_class_name("price")

我们可以成功地看到结果, enter image description here

For Target,

driver.get("http://www.target.com/p/the-angry-birds-movie-blu-ray-dvd/-/A-51194551")  
result = driver.find_element_by_class_name("price")                                     

我们收到以下错误。 enter image description here

说明: 如果是Target,则会加载网页并返回HTML。但问题是,有一些Api调用将在浏览器中运行到#fetch价格和其他细节。那些被封锁,没有运行。因此返回的HTML内容只是部分内容。所以无法找到标签#corresponding for Price。所以我们得到了NoSuchElementException。

对于Vudu,

driver.get("http://www.vudu.com/movies/#!content/777662/The-Legend-of-Tarzan")         #This line itself fail. 

获得以下错误, enter image description here

说明: 在Vudu的情况下,没有回应。甚至不是我们在Target中获得的部分HTML。它无限期地等待而不会抛出任何错误。当我们手动停止执行时,我们可以看到以下错误。在突出显示的行上,它只是等待响应。

不确定如何解决此问题。我们已经将target.com,vudu.com,api.target.com列入白名单。但仍然是同样的错误。

任何人都可以请帮助。

0 个答案:

没有答案