Форум сайта python.su
0
Вот пытаюсь вытянуть скрипт гуглокапчи:
<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')
Офлайн
857
geliusЗаменить script на src./@script
Отредактировано py.user.next (Июль 29, 2014 04:35:54)
Офлайн
@script - означает взять содержимое аттрибута “script” - думаю, это не то, что вам нужно.
Офлайн
0
Заменил:
cap_url = url.xpath('//script[contains(@src, "recaptcha")]/@src') print cap_url
[]
Офлайн
4
gelius, нужно проверить исходник страницы. Возможно (99%) на странице динамическая генерация ссылки на капчу, поэтому и не находит.
Отредактировано den4ik (Июль 31, 2014 01:33:59)
Офлайн
0
На самом деле ошибка была глупая, сделана по невнимательности.
Ссылку искал на другой странице.
Отредактировано gelius (Июль 31, 2014 02:34:49)
Офлайн
1
Лучше используй регулярные выражения, чем xpath.
Офлайн
4
paramanКакая же регулярка будет для следующего кода?
Лучше используй регулярные выражения, чем xpath.
<div class='someclass1'> <div class='someclass2'> <div class='someclass3'> ... <div class='someclassN'> Foo bar baz </div> ... </div> </div> </div>
Офлайн
1
den4ik
<div class='someclassN'>\s(.*?)\n.*?</div>
Отредактировано paraman (Авг. 25, 2014 21:02:35)
Офлайн
4
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)
Офлайн