2017-01-25 12 views
0

私はwww.zomato.comを1週間以上掻き取ろうとしていましたが、ネット上で問題を調査しましたが、適切な解決策が見つかりませんでした。だから私はここに私の質問を掲載した。
pythonとselenium webdriverを使用してhttpsウェブサイトデータをスクラブする方法

ここは、私のウェブスクレイパーのコードです。

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__": 

私のpython 3.4、すなわち、ディレクトリ/ PY -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

リクエストに適切なアクセプタ符号化ヘッダーを追加する必要があります。

は「エンコードを受け入れる」:「gzipで、収縮させる、SDCH、BR」まず

+0

メイト申し訳ありませんが、これは以前のように同じエラーで動作していません – rakesh

関連する問題