I jestem nowy lxml, zupełnie nowy, python i nie mógł znaleźć rozwiązanie, co następuje:python, lxml i XPath - html tabeli parsowanie
muszę zaimportować kilka stolików z 3 kolumnami i niezdefiniowane liczba wierszy zaczynających się od wiersza 3.
Gdy druga kolumna dowolnego wiersza jest pusta, ten wiersz jest odrzucany, a przetwarzanie tabeli jest przerywane.
Poniższy kod wypisuje dane grzywny stołu (ale jestem w stanie ponownie wykorzystać dane potem):
from lxml.html import parse
def process_row(row):
for cell in row.xpath('./td'):
print cell.text_content()
yield cell.text_content()
def process_table(table):
return [process_row(row) for row in table.xpath('./tr')]
doc = parse(url).getroot()
tbl = doc.xpath("/html//table[2]")[0]
data = process_table(tbl)
ten drukuje tylko pierwszą kolumnę :(
for i in data:
print i.next()
następującym tylko zaimportować trzeci wiersz, a nie kolejny następujący po nim:
Każdy wie, jakie jest wymyślne rozwiązanie, aby uzyskać wszystkie dane z wiersza 3 do tbl i skopiuj go do tablicy, aby można było przetworzyć go w moduł bez zależności lxml?
Dzięki z góry za pomoc Alex
Czy możesz wkleić dokument źródłowy (lub jego część) i oczekiwany wynik? Nie jestem ekspertem w python, ale jestem dobry w xpath i myślę, że mogę ci pomóc. – prostynick
Dokument źródłowy jest dostępny tutaj (tylko od 06:00 do 22:00): http://tinyurl.com/yj4corh – user191131
oczekiwany wynik: [['Premier', '05', 'name1'], [u'Deuxi \ xe8me ',' 13 ',' name2 ']] – user191131