Wpis z mikrobloga

#python #naukaprogramowania #webdev #html #xpath #programowanie

czemu tablica (ta pythonowa w sensie, rezultat funkcji znajdujacej sie w ostatnim akapicie) jest caly czas pusta jak wyciagam wartosc z xpatha za pomoca lxml?
Mozna przejsc do ostatniego akapitu i wrocic tutaj po przeczytaniu, mozliwe ze robie cos zle i nie wymaga to zbednego analizowania danych.

tutaj orientacyjne sciezki xpath do danych ktore chce wyciagnac, na stronie jest tabela:
sciezka1 = '.../table/tbody/tr[1]/td[3]/span[1]/a'
sciezka2 = '.../table/tbody/tr[1]/td[3]/span[2]/a'
sciezka3 = '.../table/tbody/tr[3]/td[3]/span[1]/a'

zauwazylem ze nowy wiersz tabeli to ta czesc:

tr[1]/td[3]/span[2]/a

a nowa kolumna to:

/span[2]/a


html komorki w duzym uproszczeniu w duzym uproszczeniu:
waznystring

Na ta chwile chce wyciagnac dane z jednej komorki, bo wiem ze zeby przeskanowalo wszystko to (chyba) musze dac cos w stylu:
'.../table/tbody/tr/td[3]/span/a'

uzywam tej funkcji (tylko na koncu sciezki jest albo /text() albo [text()], wartosci i tak sie nie wyswietlaja)
value = tree.xpath(tutaj
sciezka)

Co robie zle?
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Czeggu: probowalem kilku utilsow (bs4, lxml, scrapy itp), lxml najlatwiejszy mi sie wydal, bs4 dosyc ciezki z racji braku (albo raczej bardzo slabej) dokumentacji i poradnikow

to w jaki sposob inaczej wyciagac dane?
  • Odpowiedz
@Czeggu: wszystkiego co do tej pory umiem uczylem sie po angielsku, z dokumentacji raczej potrafie korzystac, chociaz moze jak widac niekoniecznie tej ( ͡° ͜ʖ ͡°)
  • Odpowiedz
via Android
  • 0
@Czeggu
@venomik
@kimikini nie odpisałem już, ale mi się udało.
Kod pisałem na szybko tak żeby ogarnąć co I jak, dzisiaj będę się zajmował estetyczna strona kodu
Ogólnie co zrobiłem to zapisałem lxmlem html do pliku i bs4 wyciągnąłem wszystko czego potrzebowałem. Prawdopodobnie dzisiaj bede to odczytywać bez zapisywania do pliku ale to już wyjdzie w praniu.

@Czeggu a jak inaczej bez sesji zalogować się na stronę (jeden
  • Odpowiedz