Какая формула xpath будет переходить с главной страницы по условию(названию анкора) и находить заданные данные?

Ссылка скопирована
1 ответ

Приветствую! Как добавить к формуле: //a[starts-with(@href,'mailto')]/@href дополнительное условие: переход по активным анкорам с определенным названием(допустим about us, contact и тд) и повторением первичной формулы //a[starts-with(@href,'mailto')]/@href ? То есть если были получены результаты при первой итерации //a[starts-with(@href,'mailto')]/@href - то переходить дальше по сайту не нужно, если результатов нет - переход по заданным названиям активных анкоров и повтор функции поиска //a[starts-with(@href,'mailto')]/@href

Дополнительно:

Никак. Создайте новый вопрос с кодом Вашего парсера и перечислите то, что Вы пытаетесь реализовать.

xpath сам никуда не переходит. Это инструмент поиска по нодам внутри уже полученного хтмл/хмл, а не инструмент запросов.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Павел Админов Ответ

Для того чтобы создать формулу XPath, которая будет переходить с главной страницы по условию (названию анкора) и находить заданные данные, нам необходимо определить структуру HTML-кода страницы и использовать соответствующий XPath запрос.

Предположим, что на главной странице у нас есть список ссылок, и мы хотим найти определенные данные на странице, перейдя по определенной ссылке с определенным названием анкора. Для этого мы можем использовать следующую формулу XPath:

//a[text()='Название анкора']/@href

//a[text()='Название анкора']/@href

В данной формуле мы ищем элемент с текстом "Название анкора" и получаем значение атрибута href этого элемента. Теперь, имея URL ссылки, на которую нужно перейти, мы можем использовать этот URL для загрузки страницы и извлечения нужных данных.

Пример использования данной формулы в коде на языке программирования Python с использованием библиотеки lxml:

import requests
from lxml import html
 
# URL главной страницы
main_page_url = 'https://example.com'
 
# Получаем HTML-код главной страницы
main_page = requests.get(main_page_url)
main_page_tree = html.fromstring(main_page.content)
 
# Формула XPath для поиска ссылки по названию анкора
xpath = "//a[text()='Название анкора']/@href"
 
# Получаем URL ссылки
link_url = main_page_tree.xpath(xpath)[0]
 
# Загружаем страницу по найденному URL
link_page = requests.get(link_url)
link_page_tree = html.fromstring(link_page.content)
 
# Далее можно продолжить извлечение нужных данных с загруженной страницы

import requests from lxml import html # URL главной страницы main_page_url = 'https://example.com' # Получаем HTML-код главной страницы main_page = requests.get(main_page_url) main_page_tree = html.fromstring(main_page.content) # Формула XPath для поиска ссылки по названию анкора xpath = "//a[text()='Название анкора']/@href" # Получаем URL ссылки link_url = main_page_tree.xpath(xpath)[0] # Загружаем страницу по найденному URL link_page = requests.get(link_url) link_page_tree = html.fromstring(link_page.content) # Далее можно продолжить извлечение нужных данных с загруженной страницы

Таким образом, с помощью данной формулы XPath мы можем перейти с главной страницы по условию (названию анкора) и извлечь нужные данные с найденной страницы.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно