gelius
Июль 29, 2014 01:21:50
Вот пытаюсь вытянуть скрипт гуглокапчи:
<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')
Где ошибка?
py.user.next
Июль 29, 2014 04:30:07
gelius
Заменить script на src.
lorien
Июль 30, 2014 11:24:26
@script - означает взять содержимое аттрибута “script” - думаю, это не то, что вам нужно.
gelius
Июль 31, 2014 00:11:07
Заменил:
cap_url = url.xpath('//script[contains(@src, "recaptcha")]/@src')
print cap_url
Отдает:
den4ik
Июль 31, 2014 01:32:54
gelius, нужно проверить исходник страницы. Возможно (99%) на странице динамическая генерация ссылки на капчу, поэтому и не находит.
gelius
Июль 31, 2014 02:24:19
На самом деле ошибка была глупая, сделана по невнимательности.
Ссылку искал на другой странице.
paraman
Авг. 7, 2014 10:36:53
Лучше используй регулярные выражения, чем xpath.
den4ik
Авг. 23, 2014 22:55:44
paraman
Лучше используй регулярные выражения, чем xpath.
Какая же регулярка будет для следующего кода?
<div class='someclass1'>
<div class='someclass2'>
<div class='someclass3'>
...
<div class='someclassN'>
Foo bar baz
</div>
...
</div>
</div>
</div>
paraman
Авг. 25, 2014 21:02:10
den4ik
<div class='someclassN'>\s(.*?)\n.*?</div>
den4ik
Авг. 25, 2014 21:10:16
paraman
нуну, а как с этим будут работать?
<div class='someclass1'>
<div class='someclass2'>
<div class='someclass3'>
...
<div class='someclassN'>Foo bar baz
</div>
...
</div>
</div>
</div>