Форум сайта python.su
0
ajib6ept, так, понятно. Я не могу его установить.
http://phantomjs.org/download.html
http://attester.ariatemplates.com/usage/phantom.html
Как это сделать? Написано сохранить в PATH. Как это сделать? Это вообще наверно основы, которые на первом курсе учат))
s0rg
Невидимым браузер, скрывать процесс в диспетчере задач конечно не надо))
Задача - получить определенные данные с сайта. Ну первое что пришло на ум - это получить весь html-код и пройтись по нему “в ручную” - своими “кустарными” функциями. Так-то наверно обычно используют wd.find_element_by_xpath(“//***”) с уникальными идентификаторами, но я с этой темой не знаком
Офлайн
26
ajib6ept, так, понятно. Я не могу его установить.PATH - переменная окружения Windows. Какая ошибка выводится?
Офлайн
0
ajib6ept
я не знаю вообще что такое PATH… это капец какой-то.
непонимаю о чем они тут пишут
http://www.java.com/ru/download/help/path.xml
http://hashcode.ru/questions/153628/windows-как-добавить-в-переменную-окружения-path-путь
Отредактировано hdj (Ноя. 22, 2014 15:07:17)
Офлайн
26
hdj
ajib6eptя не знаю вообще что такое PATH… это капец какой-то.непонимаю о чем они тут пишутhttp://www.java.com/ru/download/help/path.xmlhttp://hashcode.ru/questions/153628/windows-как-добавить-в-переменную-окружения-path-путь
Офлайн
0
ajib6ept
Ура! получилось. спс. Командная строка Windows выводит для команды phantomjs –version “1.9.8”.
Теперь эта строчка должна работать wd = webdriver.PhantomJS ?
Выводится ошибка:
Traceback (most recent call last):
File “C:\Python34\lib\selenium\webdriver\phantomjs\service.py”, line 71, in start
stdout=self._log, stderr=self._log)
File “C:\Python34\lib\subprocess.py”, line 858, in __init__
restore_signals, start_new_session)
File “C:\Python34\lib\subprocess.py”, line 1111, in _execute_child
startupinfo)
FileNotFoundError: Не удается найти указанный файл
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “C:\Users\орт\Documents\Python pr\pr 1\pr1.py”, line 48, in <module>
wd = webdriver.PhantomJS('C:\bin\phantomjs\phantomjs.exe')
File “C:\Python34\lib\selenium\webdriver\phantomjs\webdriver.py”, line 50, in __init__
self.service.start()
File “C:\Python34\lib\selenium\webdriver\phantomjs\service.py”, line 74, in start
raise WebDriverException(“Unable to start phantomjs with ghostdriver.”, e)
selenium.common.exceptions.WebDriverException: Message: Unable to start phantomjs with ghostdriver.
Screenshot: available via screen
В конце что-то про “Message: Unable to start phantomjs with ghostdriver.”
Попались ссылки на аналогичные ошибки
https://code.google.com/p/selenium/issues/detail?id=6736
https://code.google.com/p/selenium/source/detail?r=977c310569539f00c4090db244276e224d9884b3
Параметры у меня стоят как на посл. ссылке, но все равно такая ошибка. Знает ли кто в чем дело?
(Python 3.4.2)
Отредактировано hdj (Ноя. 23, 2014 10:12:23)
Офлайн
25
Данные с этого ресурса можно вытащить БЕЗ исполнения js вообще
Офлайн
26
Видимо windows не видит драйвер, если так попробовать
from selenium import webdriver driver = webdriver.PhantomJS(executable_path='C:\\bin\\phantomjs\\phantomjs.exe') driver.get("http://python.su/") elem = driver.find_element_by_tag_name('h1') print elem.text driver.quit()
Офлайн
6
http://python.su/forum/topic/22359/?page=3
поменялось вроде только
my = soup.findAll(name='span', attrs={'class': 'hottrends-single-trend-title ellipsis-maker-inner'}) re1 = re.compile('<span class="hottrends-single-trend-title ellipsis-maker-inner">(.+?)</span>', re.IGNORECASE)
from lxml.html import parse dom = parse('http://www.google.com').getroot() d = dom.xpath('//script[@type="text/javascript"]/text()') print d
import requests import lxml.html s = requests.session() doc = lxml.html.fromstring(s.get('http://google.com/').content) d = doc.xpath('//script[@type="text/javascript"]/text()') print d
Отредактировано Kasta_neda (Ноя. 23, 2014 12:45:58)
Офлайн
6
hdjздесь вам правильно подсказывают, надо путь указать или из папки с драйвером скрипт запускать
ajib6ept Знает ли кто в чем дело?(Python 3.4.2)
Офлайн
0
Вот ссылка на ресурс http://krasnoyarsk.kinomechta.com/ . Надо получить все сеансы, с названием, временем, ценой, датой, 3D (или нет) и названием кинотеатра. Запустил браузер с отключенным js - сеансы с ценами не выводятся.
Видимо windows не видит драйвер, если так попробоватьfrom selenium import webdriver driver = webdriver.PhantomJS(executable_path='C:\\bin\\phantomjs\\phantomjs.exe') driver.get("http://python.su/") elem = driver.find_element_by_tag_name('h1') print elem.text driver.quit()
Traceback (most recent call last):
File “C:\Users\орт\Documents\Python pr\pr 1\pr1.py”, line 48, in <module>
driver = webdriver.PhantomJS(executable_path='C:\\bin\\phantomjs\\phantomjs.exe')
File “C:\Python34\lib\selenium\webdriver\phantomjs\webdriver.py”, line 55, in __init__
desired_capabilities=desired_capabilities)
File “C:\Python34\lib\selenium\webdriver\remote\webdriver.py”, line 73, in __init__
self.start_session(desired_capabilities, browser_profile)
File “C:\Python34\lib\selenium\webdriver\remote\webdriver.py”, line 121, in start_session
‘desiredCapabilities’: desired_capabilities,
File “C:\Python34\lib\selenium\webdriver\remote\webdriver.py”, line 171, in execute
response = self.command_executor.execute(driver_command, params)
File “C:\Python34\lib\selenium\webdriver\remote\remote_connection.py”, line 349, in execute
return self._request(command_info, url, body=data)
File “C:\Python34\lib\selenium\webdriver\remote\remote_connection.py”, line 416, in _request
HttpErrorHandler(), urllib.request.ProxyHandler( {} ))
NameError: name ‘urllib’ is not defined
raise WebDriverException(“Unable to start phantomjs with ghostdriver.”, e)
selenium.common.exceptions.WebDriverException: Message: Unable to start phantomjs with ghostdriver.
Screenshot: available via screen
Отредактировано hdj (Ноя. 23, 2014 13:31:50)
Офлайн