Я пытаюсь получить видео-URL из ссылок на этой странице. Видео ссылку можно посмотреть на https://in.news.yahoo.com/video/jaguar-fighter-aircraft-crashes-near-084300217.html. (Открыть в Chrome)selenium работает на локальном, а не на сервере azure
Для этого я написал хром веб-код драйвера, связанные, как показано ниже:
from bs4 import BeautifulSoup
from selenium import webdriver
from pyvirtualdisplay import Display
chromedriver = '/usr/local/bin/chromedriver'
os.environ['webdriver.chrome.driver'] = chromedriver
display = Display(visible=0, size=(800,600))
display.start()
driver = webdriver.Chrome(chromedriver)
driver.get('https://in.news.yahoo.com/video/jaguar-fighter-aircraft-crashes-near-084300217.html')
try:
element = WebDriverWait(driver, 20).until(lambda driver: driver.find_elements_by_class_name('yvp-main'))
self.yahoo_video_trend = []
for s in driver.find_elements_by_class_name('yvp-main'):
print "Processing link - ", item['link']
trend = item
print item['description']
trend['video_link'] = s.find_element_by_tag_name('video').get_attribute('src')
print
print s.find_element_by_tag_name('video').get_attribute('src')
self.yahoo_video_trend.append(trend)
except:
return
Это прекрасно работает на моей локальной системе, но когда я бегу на моем лазурного сервере не дает никакого результата в s.find_element_by_tag_name('video').get_attribute('src')
Я установил хром на свой azureserver.
Update:
Пожалуйста, смотрите, запросы и BeautifulSoup я уже пробовал, но, как Yahoo загружает HTML содержимое динамически с JSON, я не мог получить его, используя их.
И да, сервер azure - это простая система Linux с доступом к командной строке. Не любое приложение.