Уведомления

Группа в Telegram: @pythonsu

#1 Июль 29, 2014 01:21:50

gelius
Зарегистрирован: 2013-03-18
Сообщения: 132
Репутация: +  0  -
Профиль   Отправить e-mail  

По xpath вопрос.

Вот пытаюсь вытянуть скрипт гуглокапчи:

<script type="text/javascript" src="https://www.google.com/recaptcha/api/challenge?k=6Ld5BuASAAAAAMAvzYwsP0HwhJmAoXTF-QfNPXEB"></script>
Так:
cap_url = url.xpath('//script[contains(@src, "recaptcha")]/@script')
Где ошибка?

Офлайн

#2 Июль 29, 2014 04:30:07

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10014
Репутация: +  857  -
Профиль   Отправить e-mail  

По xpath вопрос.

gelius
/@script
Заменить script на src.



Отредактировано py.user.next (Июль 29, 2014 04:35:54)

Офлайн

#3 Июль 30, 2014 11:24:26

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

По xpath вопрос.

@script - означает взять содержимое аттрибута “script” - думаю, это не то, что вам нужно.

Офлайн

#4 Июль 31, 2014 00:11:07

gelius
Зарегистрирован: 2013-03-18
Сообщения: 132
Репутация: +  0  -
Профиль   Отправить e-mail  

По xpath вопрос.

Заменил:

cap_url = url.xpath('//script[contains(@src, "recaptcha")]/@src')
print cap_url
Отдает:
[]

Офлайн

#5 Июль 31, 2014 01:32:54

den4ik
Зарегистрирован: 2014-07-20
Сообщения: 59
Репутация: +  4  -
Профиль   Отправить e-mail  

По xpath вопрос.

gelius, нужно проверить исходник страницы. Возможно (99%) на странице динамическая генерация ссылки на капчу, поэтому и не находит.

Отредактировано den4ik (Июль 31, 2014 01:33:59)

Офлайн

#6 Июль 31, 2014 02:24:19

gelius
Зарегистрирован: 2013-03-18
Сообщения: 132
Репутация: +  0  -
Профиль   Отправить e-mail  

По xpath вопрос.

На самом деле ошибка была глупая, сделана по невнимательности.
Ссылку искал на другой странице.

Отредактировано gelius (Июль 31, 2014 02:34:49)

Офлайн

#7 Авг. 7, 2014 10:36:53

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

По xpath вопрос.

Лучше используй регулярные выражения, чем xpath.

Офлайн

#8 Авг. 23, 2014 22:55:44

den4ik
Зарегистрирован: 2014-07-20
Сообщения: 59
Репутация: +  4  -
Профиль   Отправить e-mail  

По xpath вопрос.

paraman
Лучше используй регулярные выражения, чем xpath.
Какая же регулярка будет для следующего кода?
<div class='someclass1'>
    <div class='someclass2'>
        <div class='someclass3'>
        ...
            <div class='someclassN'>
                Foo bar baz
            </div>
        ...
       </div>
    </div>
</div>

Офлайн

#9 Авг. 25, 2014 21:02:10

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

По xpath вопрос.

den4ik
<div class='someclassN'>\s(.*?)\n.*?</div>

Отредактировано paraman (Авг. 25, 2014 21:02:35)

Офлайн

#10 Авг. 25, 2014 21:10:16

den4ik
Зарегистрирован: 2014-07-20
Сообщения: 59
Репутация: +  4  -
Профиль   Отправить e-mail  

По xpath вопрос.

paraman

нуну, а как с этим будут работать?
<div class='someclass1'>
    <div class='someclass2'>
        <div class='someclass3'>
        ...
            <div class='someclassN'>Foo bar baz
            </div>
        ...
       </div>
    </div>
</div>

Отредактировано den4ik (Авг. 25, 2014 21:10:57)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version