2017-01-25 14 views
0

Я пытаюсь очистить www.zomato.com более недели, и теперь я искал свои проблемы по сети, но я не смог найти подходящее решение для него. поэтому я разместил здесь свой вопрос.
Как очистить данные веб-сайта https с помощью python и selenium webdriver

Вот мой код для webscraper.

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.support.ui import Select 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.common.exceptions import TimeoutException 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.common.exceptions import NoSuchElementException 
from selenium.common.exceptions import NoAlertPresentException 
import sys 
import lxml 
import unittest, time, re 

class Sel(unittest.TestCase): 
    def setUp(self): 
     self.driver = webdriver.PhantomJS(executable_path='\phantomjs.exe')#phantom js 
     self.driver.implicitly_wait(30) 
     self.base_url = "https://www.zomato.com" 
     self.verificationErrors = [] 
     self.accept_next_alert = True 
    def test_sel(self): 
     driver = self.driver 
     delay = 3 
     driver.get(self.base_url + "hyderabad") 
     driver.find_element_by_link_text("All").click() 
     for i in range(1,100): 
      self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 
      time.sleep(4) 
     html_source = driver.page_source 
     data = html_source.encode('utf-8') 


if __name__ == "__main__": 

Когда я бегу в питона 3.4 т.е. каталог/ру -3,4 selenium.py Я получаю эту ошибку
selenium-python-phantomJS-SSL.
Может ли кто-нибудь помочь мне по этому вопросу?
С наилучшими пожеланиями.

+0

вставить текст из сообщений об ошибках, не ссылаются на скриншотах. –

ответ

0

Во-первых, скриншот с ошибками вы вывесили ли НЕ приходят из кода вы публикуемую. В вашем примере кода показано, что вы вызываете webdriver.PhantomJS, но на скриншоте ясно показано, что вы получаете ошибку при вызове webdriver.Firefox.

Кроме того, сообщение об ошибке на скриншоте сообщает вам, в чем проблема и как ее решить: «исполняемый файл geckodriver должен находиться в PATH».

Использовать Firefox с селеном. вам нужно установить geckodriver и сделать его доступным на вашем PATH. geckodriver (например, chromedriver) - это внешний компонент, который не поставляется с Firefox или Selenium ... он должен быть установлен отдельно.

Вы можете скачать geckodriver здесь: https://github.com/mozilla/geckodriver/releases

+0

Спасибо, посмотрим. – rakesh

0

Вам необходимо добавить соответствующие заголовки принимающего кодирования к вашему запросу.

'Accept-Encoding': 'GZIP, выкачать, SDCH, ш'

+0

Mate Прошу прощения, но это не работает, такая же ошибка, как раньше – rakesh