В настоящее время я пытаюсь получить данные из html-файла. Похоже, что код, который я использую, работает, но не так, как я ожидаю. Я могу получить некоторые элементы, но не все, и мне интересно, связано ли это с размером файла, который я пытаюсь прочитать.Python и lxml.html get_element_by_id вопросы вывода
В настоящее время я пытаюсь проанализировать источник this webpage.
Эта страница представляет собой 4500 строк, поэтому это довольно хороший размер. Я использую эту страницу, так как хочу, чтобы код работал на больших файлах.
код я использую:
import lxml.html
import lxml
import urllib2
webHTML = urllib2.urlopen('http://hobbyking.com/hobbyking/store/__39036__Turnigy_Multistar_2213_980Kv_14Pole_Multi_Rotor_Outrunner.html').read()
webHTML = lxml.html.fromstring(webHTML)
productDetails = webHTML.get_element_by_id('productDetails')
for element in productDetails:
print element.text_content()
Это дает ожидаемый результат, когда я использую ELEMENT_ID из «мм3» или что-то близко к вершине, но если я использую ELEMENT_ID из «» Я Детали изделия получить нет выхода. По крайней мере, я нахожусь в моей текущей настройке.
Большое спасибо за помощь! Я пойду дальше и попытаюсь использовать другой ответ. Я не понимал, что пустым элементом является режим восстановления по умолчанию. Хотелось бы, чтобы я прочитал немного глубже и знал, что до того, как потратить несколько часов, пытаясь решить это сам! – pri0ritize
@ pri0ritize конечно, спасибо. FYI, я упомянул режим «восстановить», чтобы указать, что 'lxml.html' использует его по умолчанию, и нет простого способа сказать, что это будет более мягким. – alecxe
Я полностью понимаю. Я просто не понял этого в документации. Это огромная помощь, потому что я видел этот пустой элемент совсем немного и не мог понять. – pri0ritize