Я хотел бы получить ссылки на все элементы в первом столбце на этой странице (http://en.wikipedia.org/wiki/List_of_school_districts_in_Alabama).Элемент доступа с использованием xpath?
Мне удобно использовать BeautifulSoup, но он кажется менее подходящим для этой задачи (я пытался получить доступ к первому ребенку содержимого каждого tr, но это не так хорошо работает).
В XPaths следовать шаблону регулярного, номер строки обновления для каждой новой строки в следующем выражении:
xpath = '//*[@id="mw-content-text"]/table[1]/tbody/tr[' + str(counter) + ']/td[1]/a'
бы кто-то мне помочь, разместив средства перебора строк, чтобы получить ссылки?
я думал что-то вдоль этих линий:
urls = []
while counter < 100:
urls.append(get the xpath('//*[@id="mw-content-text"]/table[1]/tbody/tr[' + str(counter) + ']/td[1]/a'))
counter += 1
Спасибо!
Не просто ли вы оставите номер строки отлично и выберите первых детей каждой строки? Это в основном то, как работает XPath, вы не идентифицируете отдельные элементы, вы определяете шаблон, который должен совпадать с элементами. – millimoose
О, извините, я понимаю, что вы имеете в виду. Вы имеете в виду использование xpath и отказ от номера строки, выбрав все ссылки в первом столбце? – goldisfine
Кроме того, не совсем понятно, каков ваш вопрос. Если это «как использовать XPath с lxml», то в первую очередь документация должна охватывать это, как в нем прямо там, в меню. Если он создает выражение XPath, то, что я сказал, должно помочь, но в идеале вы должны экспериментировать с экспериментом. Как и в, начните с более простого выражения, распечатайте, что он соответствует, затем добавьте к нему. Также помните, что вам необязательно использовать выражение * one * XPath для всего запроса, вы работаете в Python, а не в XSLT, так что это нормально, если вы делаете это несколькими шагами. – millimoose