Написание xpath-переопределений по-прежнему остается для меня проблемой после прохождения тренировочных блогов и W3schools от import.io. Я пытаюсь извлечь значения атрибутов с сайта, где информация не всегда находится в одном месте, поэтому я знаю, что мне нужно написать переопределение xpath. HTML является:Ручное переключение xpath для import.io с тегом dt
<dt>3TG:</dt>
<dd>Does not contain 3TG</dd>
<dt>Contract Catalog Item:</dt>
<dd>Y</dd>
<dt>Diameter:</dt>
<dd>3/8"</dd>
<dt>Diameter-Thread Size:</dt>
<dd>3/8"-16</dd>
<dt>Finish:</dt>
<dd>Zinc</dd>
<dt>Grade:</dt>
<dd>5</dd>
<dt>Length:</dt>
<dd>1"</dd>
<dt>Material:</dt>
<dd>Steel</dd>
является XPath
//*[@id="main"]/div[1]/div[4]/div/div[1]/div[1]/dl/dt[4]
Я попытался
//*[@id="main"]/div[1]/div[4]/div/div[1]/div[1]/dl/dt[contains(text(), "Finish")]/following-sibling::dt/text()
и
//*[@id="main"]/div[1]/div[4]/div/div[1]/div[1]/dl/td/dd[.="Finish:"]/following::dd
но не повезло. Я не уверен, что это следующий или следующий брат. Любая помощь приветствуется.
Можете ли вы предоставить URL сайта? Каковы точные данные, которые вы хотите извлечь? –
Вы указываете слишком большой порядок элементов. Если веб-сайт изменяет макет между запросами, данные, которые были в div [1], например, теперь могут быть в div [2], и вы не можете получить правильный результат. Можете ли вы предоставить сайт, пожалуйста? Вы также можете использовать оператор OR и покрывать случаи, которые вы знаете. Некоторые данные могут соответствовать более чем одному условию OR, но вы можете их очистить впоследствии. Важная вещь - получение данных! –