Analiza struktury opinii w serwisie Ceneo.pl
Skladowa | Selektor | Zmienna | Typ zmiennej |
---|---|---|---|
opinia | div.js_product-review | review | bs4.element.Tag |
identyfikator opinii | ["data-entry-id"] | review_id | str |
autor | span.user-post__author-name | author | str |
rekomendacja | span.user-post__author-recomendation > em | recommendation | bool |
liczba gwiazdek | span.user-post__score-count | stars | float |
tresc | div.user-post__text | content | str |
data wystawienia | span.user-post__published > time:nth-child(1)[datetime] | publish_date | str |
data zakupu | span.user-post__published > time:nth-child(2)[datetime] | purchase_date | str |
dla ilu przydatna | button.vote-yes[data-total-vote] button.vote-yes > span span[id^=votes-yes] |
useful | int |
dla ilu nieprzydatna | button.vote-no[data-total-vote] button.vote-no > span span[id^=votes-no] |
useless | int |
lista zalet | div.review-feature__title--positives ~ div.review-feature__item div.review-feature__col:has( > div.review-feature__title--positives) > div.review-feature__item div.review-feature__item:has( ~ div.review-feature__title--positives) |
pros | str |
lista wad | div.review-feature__title--negatives ~ div.review-feature__item div.review-feature__col:has( > div.review-feature__title--negatives) > div.review-feature__item div.review-feature__item:has( ~ div.review-feature__title--negatives) |
cons | str |
- pobranie skladowych pojedynczej opinii do niezaleznych zmiennych
- zapisanie wszystkich skladowych pojedynczej opinii do obiektu slownika (dictionary)
- pobranie wszystkich opinii z pojedynczej strony i zapisanie ich do listy slownikow
- pobranie wszystkich opinii o wskazanym produkcie i zapisanie ich do pliku
- optymalizacja kodu
A) zdefiniowanie funkcji do ekstrakcji elementow strony HTML
B) utworzenie slownika selektorow opisujacego pojedyncza opinie
C) zastapienie ekstrakcji skladowych pojedynczej opinii do niezaleznych zmiennych ekstrakcja tych skladowych w dictionary comprehension w oparciu o slownik selektorow
- analiza opinii o wskazanym produkcie
A) wyliczenie podstawowych statystyk
a) liczba wszystkich opinii o produkcie
b) liczba opinii z podana lista zalet
c) liczba opinii z podana lista wad
d) srednia ocena produktu
B) narysowanie wykresow
a) udzial poszczegolncyh rekomendacji w ogolnej liczbie opinii
b) histogram czestosci wystapien poszczegolnych ocen (liczba gwiazdek)
- przesienie gotowych czesci kodu do wlasciwego projektu
A) znalezienie odpowiednich miejsc dla poszczegolnych elementow
B) polaczenie z routingiem
- uruchomienie flask i jinja
A) stworzenie bazy dla plikow jinja
B) dodanie stron odwolujacych sie do bazy
- dodanie funkcjonalnosci
A) dzialajacy ekstraktor
B) readme pojawiajace sie na stronie glownej
- flask - Framework, ktory sluzy do tworzenia aplikacji webowej
- json - Umozliwia dzialanie na plikach .json - zapis i odczyt plikow
- requests - Obsluga HTTP, wysylanie zadan i odbieranie odpowiedzi
- bs4 - Iteracja, wyszukiwanie i modyfikacja kodu html
- pandas - Analiza danych, modyfikacja i wczytywanie
- numpy - Analiza danych, glownie liczbowych
- matplotlib - Tworzenie wykresow na podstawie danych
- markdown - Obsluga plikow w uproszczonym formacie HTML