Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 22, 2014 14:16:09

hdj
Зарегистрирован: 2014-11-19
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Не полностью отображается html-код для со страницы

ajib6ept, так, понятно. Я не могу его установить.
http://phantomjs.org/download.html
http://attester.ariatemplates.com/usage/phantom.html


Как это сделать? Написано сохранить в PATH. Как это сделать? Это вообще наверно основы, которые на первом курсе учат))


s0rg
Невидимым браузер, скрывать процесс в диспетчере задач конечно не надо))
Задача - получить определенные данные с сайта. Ну первое что пришло на ум - это получить весь html-код и пройтись по нему “в ручную” - своими “кустарными” функциями. Так-то наверно обычно используют wd.find_element_by_xpath(“//***”) с уникальными идентификаторами, но я с этой темой не знаком

Офлайн

#2 Ноя. 22, 2014 14:36:43

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Не полностью отображается html-код для со страницы

ajib6ept, так, понятно. Я не могу его установить.
PATH - переменная окружения Windows. Какая ошибка выводится?



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#3 Ноя. 22, 2014 15:06:59

hdj
Зарегистрирован: 2014-11-19
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Не полностью отображается html-код для со страницы

ajib6ept
я не знаю вообще что такое PATH… это капец какой-то.
непонимаю о чем они тут пишут
http://www.java.com/ru/download/help/path.xml
http://hashcode.ru/questions/153628/windows-как-добавить-в-переменную-окружения-path-путь

Отредактировано hdj (Ноя. 22, 2014 15:07:17)

Офлайн

#4 Ноя. 22, 2014 18:37:18

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Не полностью отображается html-код для со страницы

hdj
ajib6eptя не знаю вообще что такое PATH… это капец какой-то.непонимаю о чем они тут пишутhttp://www.java.com/ru/download/help/path.xmlhttp://hashcode.ru/questions/153628/windows-как-добавить-в-переменную-окружения-path-путь

там все достаточно подробно написано, если и после этого не понятно, то я помочь не смогу



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#5 Ноя. 23, 2014 10:10:01

hdj
Зарегистрирован: 2014-11-19
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Не полностью отображается html-код для со страницы

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)

Офлайн

#6 Ноя. 23, 2014 11:49:21

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Не полностью отображается html-код для со страницы

Данные с этого ресурса можно вытащить БЕЗ исполнения js вообще

Офлайн

#7 Ноя. 23, 2014 11:54:20

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Не полностью отображается html-код для со страницы

Видимо 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()



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#8 Ноя. 23, 2014 12:29:56

Kasta_neda
Зарегистрирован: 2014-06-08
Сообщения: 210
Репутация: +  6  -
Профиль   Отправить e-mail  

Не полностью отображается html-код для со страницы

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)
посмотреть js
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)

Офлайн

#9 Ноя. 23, 2014 12:34:43

Kasta_neda
Зарегистрирован: 2014-06-08
Сообщения: 210
Репутация: +  6  -
Профиль   Отправить e-mail  

Не полностью отображается html-код для со страницы

hdj
ajib6ept Знает ли кто в чем дело?(Python 3.4.2)
здесь вам правильно подсказывают, надо путь указать или из папки с драйвером скрипт запускать

Офлайн

#10 Ноя. 23, 2014 13:27:41

hdj
Зарегистрирован: 2014-11-19
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Не полностью отображается html-код для со страницы

Вот ссылка на ресурс 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()

Тоже не работает при разных вариациях с двойными слэшами. Сначала на секунду появляется окно приложения PhantomJS.exe. Ошибку выводит другую:

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

Загрузка скрипита из той же папки где и PhantomJS. не помогает.

Selenium 2.44.0
PhantomJS 1.9.8
Python 3.4.2

Отредактировано hdj (Ноя. 23, 2014 13:31:50)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version