2016-11-28 6 views
0

Я использую этот код для утилизации некоторых данных по ссылке https://website.grader.com/results/www.dubizzle .com. Поскольку фактический скрипт с тегами я хочу извлечь нагрузки после 15 секунд загрузки, кто-то рекомендовал мне селену ввести задержку в коде. Поэтому я использую этот кодОбъект Error 'Service' не имеет атрибута 'process' при использовании красивого экстракта супа python с селеном

код, как показано ниже

#!/usr/bin/python 
import urllib 
import time 
from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 
from bs4 import BeautifulSoup 
from dateutil.parser import parse 
from datetime import timedelta 
import MySQLdb 
import re 
import pdb 
import sys 
import string 

driver = webdriver.Firefox() 
driver.get('https://website.grader.com/results/dubizzle.com') 
time.sleep(25) 
html = driver.page_source 
soup = BeautifulSoup(html) 

# print soup 

Sizeofweb="" 
try: 

    Sizeofweb= soup.find('span', {'data-reactid': ".0.0.3.0.0.3.$0.1.1.0"}).text 
    print Sizeofweb.get_text().encode("utf-8") 

except StandardError as e: 
    converted_date="Error was {0}".format(e) 
    print converted_date 

часть HTML, который я экстрагента, как показано ниже

Привязать: https://www.dropbox.com/s/7dwbaiyizwa36m6/5.PNG?dl=0

<div class="result-value" data-reactid=".0.0.3.0.0.3.$0.1.1"> 
<span data-reactid=".0.0.3.0.0.3.$0.1.1.0">1.1</span> 
<span class="result-value-unit" data-reactid=".0.0.3.0.0.3.$0.1.1.1">MB</span> 
</div> 

я ошибка я получаю:

Traceback (most recent call last): 
    File "ahmed.py", line 20, in <module> 
    driver = webdriver.Firefox() 
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 140, in __init__ 
    self.service.start() 
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py", line 81, in start 
    os.path.basename(self.path), self.start_error_message) 
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 

Exception AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x7f65a1ccbe10>> ignored 
+0

Hi _info_; Я отредактировал ваш вопрос, чтобы немного улучшить удобочитаемость, например, я исправил несколько орфографических ошибок. Помните, что на этом сайте вам предлагается [редактировать] и повторно редактировать свой вопрос, чтобы сделать его максимально понятным и полезным; что помогает вам получить ответ и помогает кому-либо еще бороться с подобной проблемой. –

ответ

0

Вы не установили тока FireFox WebDriver или в пути, то код выполняется в ошибку еще до начала браузер на

driver = webdriver.Firefox() 

Чтобы это исправить, вам нужно будет установить (или переустановить) в Firefox и добавьте его на свой путь.

+0

im используя хост vps. Как добавить это плз? – info

+0

:) Может кто-нибудь ответить? – info

+0

(Предположим, что у вас есть все настройки Selenium) [Загрузите webdriver exec] (https://github.com/mozilla/geckodriver/releases) Разархивируйте и добавьте местоположение файла в путь. 'export PATH = $ PATH:/path/to/geckodriver' – Anna

 Смежные вопросы

  • Нет связанных вопросов^_^