Форум сайта python.su
0
ПОмогите решить проблему, перепробовал все!ничего не помагает.пытаюсь парсить lxml xpath -постянно пустой список(
один из вариантов кода:
page = urllib.urlopen("http://www.google.ru/").read() lt = lxml.html.fromstring(page) text = lt.xpath("html/body//p[*]") print len(text)
Отредактировано kristus (Окт. 27, 2012 04:26:54)
Офлайн
0
если в строке xpath убрать html - body//p , то выдает обьект в непонятном виде:
text=
<Element p at 0xb6bece0c>
Отредактировано kristus (Окт. 27, 2012 04:26:28)
Офлайн
14
Раньше гугл вроде бы давал отлуп юзерагенту urllib?
>>> root4.xpath("/html/body//p[*]")
[<Element p at 0x157e840>]kristusКури маны по ElementTree / lxml. lxml превращает документ в дерево.
выдает обьект в непонятном виде:
Офлайн
0
спасибо, буду курить! html/body - firebug гененирует без первого /
Офлайн
0
РАзобрался почему список был нулевым! xpath не парсит <tbody>(( а через fire bug все ок!
Офлайн
14
У тебя в примере tbody же не было.
Офлайн
72
То что вы видите в firebag не совпадает с получаемым документом. Броузеры делают исправления в DOM(добавляют узлы tbody) и т.д. Хотите видеть то же, что и lxml смотрите “Исходный код страницы”
Офлайн
14
Да, но разве firebug дает xpath для исходного кода страницы?
Офлайн
72
odnochlenЯ, видимо, нехорошо сформулировал. Дерево документа, построенное броузером и построенное lxml могут отличаться, поэтому не стоит полагаться на пути из firebug
Да, но разве firebug дает xpath для исходного кода страницы?
Офлайн
14
А xpath разве не стандаритизирован? Какой в нем смысл, если в разных библиотеках результаты применения будут разными?
Офлайн