Форум программистов, компьютерный форум CyberForum.ru

Python: Web

Войти
Регистрация
Восстановить пароль
 
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
#1

Как в lxml найти элемент по атрибуту name? - Python

07.01.2017, 17:17. Просмотров 219. Ответов 6
Метки нет (Все метки)

На этой этой страничке нашел методы парсинга по значению id и class, а вот по name нету Вопрос в заголовке)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Zuzik
235 / 220 / 38
Регистрация: 11.06.2012
Сообщений: 1,433
07.01.2017, 19:00     Как в lxml найти элемент по атрибуту name? #2
используем xpath http://lxml.de/xpathxslt.html#the-xpath-method http://lxml.de/tutorial.html .
alex925
2451 / 2117 / 498
Регистрация: 19.03.2012
Сообщений: 8,200
07.01.2017, 21:15     Как в lxml найти элемент по атрибуту name? #3
А лучше cssselect, это намного более удобно.

Python
1
2
3
4
5
6
7
import requests
import lxml.html as html
 
r = requests.get('http://www.cyberforum.ru/python-web/thread1895590.html').text
parser = html.fromstring(r)
elem = parser.cssselect('meta[name="keywords"]')[0]
print(elem.get('content'))
Garry Galler
635 / 515 / 135
Регистрация: 28.10.2013
Сообщений: 1,184
08.01.2017, 01:10     Как в lxml найти элемент по атрибуту name? #4
Цитата Сообщение от alex925 Посмотреть сообщение
А лучше cssselect, это намного более удобно.
Поддерживаю, так как сам заметил, что с тех пор как стал писать на python, то вместо xpath всегда пишу selector для парсинга html.
Python
1
2
3
4
5
6
7
8
9
10
css_date_font        = 'font[color="#004499"]' # элемент font c атрибутом color равным #004499
css_link_and_text    = 'dl.nam li' # все элементы li внутри списка определений(dl) класса num
css_count_documents  = "h2[class='hdr2 hdtop'] > small.cnt > strong" # текст помеченный как strong внутри тега small класса cnt внутри заголовка h2 класса 'hdr2 hdtop'
css_find_url         = 'div.spi a'  #все ссылки\anchors внутри div класса spi
css_find_status      = 'div.spi span b'  # тег b внутри тега span внутри div класса spi
css_warnings         = 'div.warnings > div.error'  # dev класса error чей непосредственный родитель div класса warnings
css_edition          = 'select.form option'  # все option внутри селекта класс form
css_print_url        = 'ul#topnav li a' # все anchors внутри элементов li маркированного списка ul c id topnav
css_title            = 'title' # просто тег title
css_profile          = 'div.profile table.table_vi td:nth-child(3)'  # каждая третья ячейка (td) в таблице класса table_vi внутри div класса profile
weblord
1 / 1 / 0
Регистрация: 16.10.2016
Сообщений: 111
08.01.2017, 18:03  [ТС]     Как в lxml найти элемент по атрибуту name? #5
xpath - это понятно, просто думал, что есть метод конкретно для поиска имени (иногда это удобнее)
alex925
2451 / 2117 / 498
Регистрация: 19.03.2012
Сообщений: 8,200
08.01.2017, 18:10     Как в lxml найти элемент по атрибуту name? #6
Цитата Сообщение от weblord Посмотреть сообщение
просто думал, что есть метод конкретно для поиска имени (иногда это удобнее)
Непонятно, что ты имеешь ввиду, я тебе показал метод поиска элемента по его имени, что ещё нужно то?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2017, 20:13     Как в lxml найти элемент по атрибуту name?
Еще ссылки по теме:
Как установить модуль lxml? Python
Python Как в lxml составить запрос xpath?
Как отсортировать объекты по атрибуту? Python
jQuery Как присвоить атрибуту name значение с jquery
XML/XSL Как выбрать элементы по атрибуту из xml

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Jabbson
Модератор
Эксперт по компьютерным сетям
3127 / 2206 / 452
Регистрация: 03.11.2009
Сообщений: 6,980
Записей в блоге: 3
08.01.2017, 20:13     Как в lxml найти элемент по атрибуту name? #7
Если нужно все же xpath:
Код
//input[@name="email"]
Yandex
Объявления
08.01.2017, 20:13     Как в lxml найти элемент по атрибуту name?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru