2016-02-03 2 views
0

Учитывая такую ​​страницу, как this, с двумя заданиями (пока мы будем игнорировать «Открытые приложения»), полностью описанные один за другим, я ищу надежный способ извлечения отдельных спецификаций задания. Первой целью является извлечение спецификаций, а затем, надеюсь, их обернуть в некоторые теги HTML, чтобы они отображались в браузере при сохранении в виде HTML-файла.Разделительные divs больших кусков текста с XPath (или другими)

enter image description here

Очевидно, если бы я знал заранее, что имя класса для верхнего DIV уровня назывались «jobitem», я мог бы запустить простой XPath как //div[@class='jobitem']

Там будет несколько таких сайтов, хотя (с широко разным дизайном, но все с полной спецификацией вакансий, перечисленными один за другим), и моя программа не будет иметь роскошь такого знания имени класса заранее. Одна моя программа будет знать: абсолютное и относительное положение заголовков работ (<h2>, <h3> и т. Д.). Другими словами, я буду работать запрос вроде следующего:

//*[self::h2 or self::h3 or self::h4][contains(., 'Country Manager')] 

... в результате массив Python lxml объектов XPath, из которых затем могут быть выполнены относительные XPaths. Возможно, это знание является отправной точкой для захвата всего текста между каждым заголовком?

ответ

1

«... в результате массив Python LXML объектов XPath, из которых затем может быть выполнена относительное XPaths. Возможно, это знанием является отправной точкой для захвата всего текста между каждым заголовком?»

Конечно (если я понимаю это правильно), в данный момент задача проста, используя following-sibling ось в относительной XPath:

following-sibling::div