Closed MarcinKosinski closed 8 years ago
A jakie masz kodowanie systemowe :)?
Swoją drogą to, że masz złe kodowanie przy wyświetlaniu napisu, wcale nie oznacza, że nie zapisuje się on w kodowaniu UTF-8, w którym dobrze byłoby mieć ostatecznie baze.
Ten blad ze 'can't guess' oznacza, ze nie ma żadnych specjalnych znaków, dlatego napis pasuje do każdego kodowania. Jeżeli Ci to psuje automat to zabezpiecz sie funkcja 'try'.
Z drugiej strony nie wazne ostatecznie jakie jest kodowanie, Bo mechanizm zbierający dane puścimy na serwerze na ktorym tez postawimy frontend i dopiero tam sie zajmiemy kodowaniem. Poki co dobrze byłoby miec działający mechanizm, nawet jak ściąga napisy w dziwnym kodowaniu (ja mysle ze na stronach jest UTF-8, a Ty masz systemowo inne.
Marcin Kosinski
Dnia 11.02.2016 o godz. 00:23 michalcisek notifications@github.com napisał(a):
mam problem z kodowaniem polskich znaków. Zgodnie z radą Marcina próbowałem zmienić kodowanie na UTF-8, WINDOWS-1252, ISO-8859-1/2 lub CP2150, jednak nic nie pomogło. Próbowałem też z funkcją repair_encoding, ale zwraca błąd 'No guess has more than 50% confidence'. Macie jakiś pomysł co z tym zrobić?
— Reply to this email directly or view it on GitHub.
Michał, czy masz już pomysł jak miałaby wyglądać struktura danych, które przymierzasz się pobrać? Jeśli masz wizję albo wręcz listę i nazwy pól, to proszę wrzuć to do repo. Podjąłem się stworzyć fikcyjne zestawienie danych, żeby było co zassać do aplikacji Shiny, którą niebawem zacznie robić Ania.
myślę że struktura będzie jednakowa do tej ze skryptu 'gumtree_scraping.R'. Tam wrzucam dane do tabeli gumtree_warszawa_pokoje (6 kolumn: cena, wielkosc, telefon, opis, data_dodania, link), a docelowo będę chciał żeby dane z 3 stron były insertowane dane do jednej tabelki.
:+1:
Macie pomysł jak zescrapować pole, które jest ukryte pod przyciskiem? Konkretnie chodzi mi o telefon dla olx. Niby selectorgadget coś podpowiada, ale nie jest to odpowiednia wartość, a w źródle strony także nie znajdzie się pola z całym numerem. Np.: http://olx.pl/oferta/pokoj-1-os-bielany-encyklopedyczna-CID3-IDdX6wf.html#c1c0e14c53
Najlepiej, żeby z każdego portalu dane trafiały do innej tabelki w obrębie jednej bazy danych. Usprawni to pracę, zobaczycie :)
Przyjrzę się Michał Twojemu skryptowi, i na bazie kodów Oli wyciągnę adres z ogłoszenia i dodam jako 6tą kolumnę w bazie danych.
W dniu 12 lutego 2016 10:38 użytkownik michalcisek <notifications@github.com
napisał:
Macie pomysł jak zescrapować pole, które jest ukryte pod przyciskiem? Konkretnie chodzi mi o telefon dla olx. Niby selectorgadget coś podpowiada, ale nie jest to odpowiednia wartość, a w źródle strony także nie znajdzie się pola z całym numerem. Np.: http://olx.pl/oferta/pokoj-1-os-bielany-encyklopedyczna-CID3-IDdX6wf.html#c1c0e14c53
— Reply to this email directly or view it on GitHub https://github.com/MarcinKosinski/CzasDojazdu/issues/3#issuecomment-183252805 .
@michalcisek póki co zadałem pytanie na stacku z tym problemem :) Nie wygląda na coś niewykonalnego, ale oczywiście nie jesteśmy javascript-owcami. Polecam zazwyczaj jak najwięcej pisać pytań na stacku, najszybciej się można czegoś dowiedzieć. http://stackoverflow.com/questions/35384594/how-to-web-scrap-on-click-information-with-r
@michalcisek poprawiłem trochę Twój skrypt, i teraz wyciągamy z opisu adres. Póki co umiemy wyciągnąć takie adresy
[1] "" "" "Dywizjonu 303" ""
[5] "Bony" "Bony" "" "Baló"
[9] "Fort Wola" "Pola" "Dantego" ""
[13] "Agrykola" "" "" ""
[17] "" "Bony" "Babicka" ""
[21] "Babicka" "Arbuzowa" "Gąsiorowskiej" ""
[25] "Bony" "Doroszewskiego" "Bony" "Hery"
[29] "" "Magiera" "Magiera" ""
[33] "Belgradzka" "Emilii Plater" "Wilanowska" "Lwowska"
[37] "" "" "" "Ewy"
[41] "" "Nowolipki" "Budy" "Boczna"
[45] "" "Bardowskiego" "Bagatela" "Marsa"
[49] "" "Ewy" "" "Kiprów"
[53] "Bolivara" "Jasielska" "" "Bagno"
[57] "" "Bohaterów Warszawy" "al. Jerozolimskie" "Ewy"
[61] "Czechowicka" "Sucharskiego" "" ""
[65] "Ewy" "" "" ""
[69] "" "Boruty" "Bema" ""
[73] "" "Samolotowa" "Wilanowska" ""
[77] "Ewy" "" "" ""
[81] "" "" "Boruty" "Bartosika"
[85] "Pawia" "Licealna" "Samolotowa" "Samolotowa"
[89] "Lwa" "Skłodowskiej-Curie" "Szwankowskiego" ""
[93] "Samolotowa" "" "Bruna" ""
[97] "" "Szwankowskiego" "" "Podbipięty"
[101] "Kozia"
commit powyżej (widać na githubie w issue)
Dodałem skrypt do scrapowania z olx. 6 kolumn: cena, telefon (w przypadku gdy więcej niż jeden dostępny - wgrywany pierwszy), opis, link do zdjęcia, data dodania oraz link do oferty. Nie ma możliwości wyciągnięcia wielkości tak jak w przypadku gumtree.
Nic nie szkodzi :) Moze da sie wielkosc wyciagnac z opisu :) Korzystales w koncu z tego rozwiazania http://stackoverflow.com/questions/35384594/how-to-web-scrape-on-click-information-with-r ?
tak, działa dobrze :)
Przejrzę na dniach jak dodać do tego informacje o wyciąganiu adresu z opisu :) Świetna robota! Czy dałoby się wyciągnąć informację o dzielnicy (podobnie w przypadku gumtree)?
2016-02-15 20:46 GMT+01:00 michalcisek notifications@github.com:
tak, działa dobrze :)
— Reply to this email directly or view it on GitHub https://github.com/MarcinKosinski/CzasDojazdu/issues/3#issuecomment-184360332 .
Na gumtree można by zrobić tak, żeby nie pobierać danych z ogłoszeń dla Warszawy, tylko osobno dla podstron z dzielnicami (np. http://www.gumtree.pl/s-pokoje-do-wynajecia/mokotow/v1c9000l3200012p1). Ewentualnie w ogłoszeniu jest pole lokalizacja, czasami jednak jest puste. Najmniej efektywne byłoby wyciąganie info o dzielnicy z tytułu ogłoszenia. Na olx też w podobny sposób będzie można to wyciągnąć. Myślę że nie będzie problemu, dodam taką kolumnę do tabelki. Mam pytanie jeśli chodzi o otodom. Moim zdaniem pobieranie danych stąd byłoby powielaniem danych z OLX. W każdym ogłoszeniu które oglądałem (np. http://otodom.pl/oferta/pokoj-warszawa-wlochy-oplaty-licznikowe-i-inter-ID2U67T.html#aa738eed71 , http://otodom.pl/oferta/pokoj-zamieszkania-wart-ID2U65N.html#aa738eed71 , http://otodom.pl/oferta/pokoj-bemowo-730zl-ze-wszystkim-ID2U64W.html#aa738eed71) jest pole 'Kontak przez OLX', które przenosi nas do bliźniaczego ogłoszenia na tej witrynie. Myślicie więc że jest sens wyciągania danych z otodom?
Na gumtree najlepiej wyciągać info o dzielnicy tak ja wyciągamy info o cenie czy powierzchni. Chyba by było najłatwiej :)
Co do powielanych stron olx i otodom: w takim wypadku na razie zostawmy te strony :)
Marcin Kosinski
Dnia 16.02.2016 o godz. 09:58 michalcisek notifications@github.com napisał(a):
Na gumtree można by zrobić tak, żeby nie pobierać danych z ogłoszeń dla Warszawy, tylko osobno dla podstron z dzielnicami (np. http://www.gumtree.pl/s-pokoje-do-wynajecia/mokotow/v1c9000l3200012p1). Ewentualnie w ogłoszeniu jest pole lokalizacja, czasami jednak jest puste. Najmniej efektywne byłoby wyciąganie info o dzielnicy z tytułu ogłoszenia. Na olx też w podobny sposób będzie można to wyciągnąć. Myślę że nie będzie problemu, dodam taką kolumnę do tabelki. Mam pytanie jeśli chodzi o otodom. Moim zdaniem pobieranie danych stąd byłoby powielaniem danych z OLX. W każdym ogłoszeniu które oglądałem (np. http://otodom.pl/oferta/pokoj-warszawa-wlochy-oplaty-licznikowe-i-inter-ID2U67T.html#aa738eed71 , http://otodom.pl/oferta/pokoj-zamieszkania-wart-ID2U65N.html#aa738eed71 , http://otodom.pl/oferta/pokoj-bemowo-730zl-ze-wszystkim-ID2U64W.html#aa738eed71) jest pole 'Kontak przez OLX', które przenosi nas do bliźniaczego ogłoszenia na tej witrynie. Myślicie więc że jest sens wyciągania danych z otodom?
— Reply to this email directly or view it on GitHub.
update skryptów do gumtree i olx.
W gumtree kolumny: cena, wielkość, telefon, opis, link do zdjęcia, adres, dzielnica, data dodania ogłoszenia, link do ogłoszenia W olx: cena, telefon, opis, link do zdjęcia, dzielnica, data dodania ogłoszenia, link do ogłoszenia
Extra ;]
W dniu 16 lutego 2016 13:29 użytkownik michalcisek <notifications@github.com
napisał:
update skryptów do gumtree i olx.
W gumtree kolumny: cena, wielkość, telefon, opis, link do zdjęcia, adres, dzielnica, data dodania ogłoszenia, link do ogłoszenia W olx: cena, telefon, opis, link do zdjęcia, dzielnica, data dodania ogłoszenia, link do ogłoszenia
— Reply to this email directly or view it on GitHub https://github.com/MarcinKosinski/CzasDojazdu/issues/3#issuecomment-184664293 .
Zapuszcze w czwartek zbieranie danych na serwerze co 30 minut :) [jak tylko dodam zbieranie adresow z opisow, thanks to @abrodecka ]. Wyjezdzam tez w gory, wiec dopiero pogadac bedziemy mogli w poniedzialek.
Sadze, ze zbieranie numerow telefonow jednak chyba jest niebezpieczne i niepotrzebne. Moze wystarcza nam same linki do ofert
Chcesz żebym usunął info o telefonie ze skryptów?
I taka uwaga, zanim zapuścisz skrypty na serwerze, dobrze będzie ręcznie stworzyć te tabelki.
Zakomentuje je sobie chyba :) zanim puszcze.
Dzieki za komentarz
W dniu 17 lutego 2016 12:26 użytkownik Michał Cisek < notifications@github.com> napisał:
Chcesz żebym usunął info o telefonie ze skryptów?
I taka uwaga, zanim zapuścisz skrypty na serwerze, dobrze będzie ręcznie stworzyć te tabelki.
— Reply to this email directly or view it on GitHub https://github.com/MarcinKosinski/CzasDojazdu/issues/3#issuecomment-185160709 .
Offtop: http://www.kdd.org/kdd-cup - ktoś z was kiedyś słyszał albo brał udział w tym konkursie?
Ja z konkursów dopiero pierwszy raz startuje przy tym https://www.kaggle.com/c/second-annual-data-science-bowl/leaderboard analiza obrazów 2D prezentujących zmiany 3D w czasie
W dniu 18 lutego 2016 10:29 użytkownik Michał Cisek < notifications@github.com> napisał:
Offtop: http://www.kdd.org/kdd-cup - ktoś z was kiedyś słyszał albo brał udział w tym konkursie?
— Reply to this email directly or view it on GitHub https://github.com/MarcinKosinski/CzasDojazdu/issues/3#issuecomment-185625235 .
@michalcisek w https://github.com/MarcinKosinski/CzasDojazdu/commit/a605e365559492200d47c5a6687ed3bd11be68bd poszerzylem wyciaganie niektorych danych, tak bysmy mieli od razu wspolrzedne geograficzne punktow oraz tak, zebysmy mieli content - czyli specjalny kod html, ktory by sluzyl do popupu w leaflecie - https://rstudio.github.io/leaflet/popups.html - biblitoece ktora posluzy do stworzenia interface'u :)
Dalbys rade przerobic tak tez skrypt z olx? + Zakomentowalem telefony, jako wrazliwe dane
@abrodecka przykladowych danych do aplikacji mozesz uzywac takich: https://github.com/MarcinKosinski/CzasDojazdu/blob/master/App/przykladowe_dane.R
Adresy maja juz numerki (tam gdzie sie dalo), sa wspolrzedne geograficzne i jest content
do popup'aw leaflecie :)
@MarcinKosinski poprawione.
Wrzuciłam apkę shiny. Pierwsza strona oczywiście jeszcze do poprawy ;) Zmieniłam markery w leaflecie (chciałam, żeby marker podanej lokalizacji miał inny kolor niż pozostałe). Na razie korzystałam ze swoich danych i dodałam do nich współrzędne geograficzne. Jeżeli macie jakieś sugestie do poprawy wyglądu shiny to dajcie znać :)
2016-02-29 11:35 GMT+01:00 Michał Cisek notifications@github.com:
@MarcinKosinski https://github.com/MarcinKosinski poprawione.
— Reply to this email directly or view it on GitHub https://github.com/MarcinKosinski/CzasDojazdu/issues/3#issuecomment-190146900 .
zerkne do tego po piatkowej obronie (w sobote jak sie ogarne :)) i mozemy ja juz moze publikowac w nadchodzacym tygodniu ?
Czesc, zapuscilem zbieranie danych co 30 minut. Udostepniam Wam na mailach lacze dropbox gdzie w pliku czas_dojazdu.db
jest baza danych cala, a w pliku inputData.rda
wejscie pod aplikacje :) powinno sie to co 30 minut odswiezac - jak nie to krzyczcie. Poki co to zadanko zamykam
mam problem z kodowaniem polskich znaków. Zgodnie z radą Marcina próbowałem zmienić kodowanie na UTF-8, WINDOWS-1252, ISO-8859-1/2 lub CP2150, jednak nic nie pomogło. Próbowałem też z funkcją repair_encoding, ale zwraca błąd 'No guess has more than 50% confidence'. Macie jakiś pomysł co z tym zrobić?