#programowanie #python Mirki udało mi się poprawić trochę mój projekt od ostatniego pytania tutaj, ale nadal mam pewien problem, mianowicie jeżeli w moim html występuje coś po znaczniku
to nie rzuca mi spacji tylko pisze wszystko w jednej linii coś takiego: http://wklej.org/id/2555661/ od razu zamieściłem też jak powinien wyglądać prawidłowy output. Funkcja, która to wykonuje wygląda następująco: http://wklej.org/id/2555659/ , a fragment html: http://wklej.org/id/2555662/ Jak to poprawić?
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, wie ktoś o co chodzi? Bawię się #python i chciałbym użyć kilku rzeczy z request, więc pobieram stad:
https://github.com/kennethreitz/requests
Całe repo, a później w cmd wpisuję "python setup.py install" wszystko ładnie idzie, żadnych błędów, ale teraz gdy chcę zrobić "import request" w moim projekcie, to dostaje info, że nie ma takiego modułu.

Próbowałem wielu rzeczy, dużo reinstalli, a przez pip wyskakuje bład "command python setup.py egg_info failed with error
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Podczas ładowania strony przez skryp, mam cały czas kod odpowiedzi 404, albo 409. Ładuje przez proxy, ale nie wiem czemu niechce działać.

W przeglądarce odpalam przez proxy działa, a przez skrpyt nie...

Ustawiłem http_proxy na serwer docelowy i dalej nic..

Ma
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, tak się zastanawiam. Napisałem crawler w #pythonie, strony z ogłoszeniami,
1.wchodzi mi na listę
2.zbiera paginacje
3.chodzi po paginacji
4.wchodzi na ogorzenia
5. zbiera info i zapisuje
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@destyl: zazwyczaj większym problemem są łącza i prędkość generowania strony niż sam crawler. Możesz trochę przyśpieszyć odpalając jednocześnie kilka wątków, ale pytanie co na to powie admin strony którą pobierasz.
  • Odpowiedz
@destyl: php7 by sobie poradził tak samo, bo najwięcej tracisz zapewne na pobieranie strony. Użyj scrapy. Samo się ładnie zrównolegla, więc będzie n---------ć requestami aż miło, a nie musisz tej logiki pisać samemu.
  • Odpowiedz
Jeśli takie rzeczy zaczynają się dziać, to wiedz, że czas sobie zrobić przerwę.
PYTHON WTF?

Poczytałem na googlach, i nadal nie mam pojęcia jak to naprawić, bo rozwiązania na googlach są dla zmiennych, a tutaj mi python nagle uważa że moduł time nie istnieje. Co najlepsze, w pozostałych 3 funkcjach działa normalnie, a w tej jednej, nie widzi mi time, WTF :D

Edit:
skew - Jeśli takie rzeczy zaczynają się dziać, to wiedz, że czas sobie zrobić przerwę...

źródło: comment_cSLNOjmBiRJ01SDwYD03hxfimkBaVgLl.jpg

Pobierz
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@skew: to jest logiczne, na początku może wydawać się nieintuicyjne. Przeczytaj dokładnie ten przykład, który podlinkowałem, poczytaj o zakresie zmiennych w pythonie, reguła LEGB.
  • Odpowiedz
@skew:

return [Field(*result) for result in results]
Poza tym jak zmienisz @staticmethod na @classmethod, to bedziesz mogl uzyc cls zamiast Field, co pozwala na latwe dziedziczenie. Wtedy liste pol, nazwe tabeli etc, mozesz trzymac w atrybucie klasy i budowac zapytanie dynamicznie.

A jeszcze lepiej - mozesz uzyc jakiegos frameworka, ktory ogarnie to za ciebie ;) Albo chociaz jakis ORM typu SQLAlchemy.
  • Odpowiedz
Szukam algorytmu (najlepiej w pythonicznego) który by zestawił ze sobą dwie grupy produktów w taki sposób aby produkty najbardziej pasujące do siebie były u góry listy (a najmniej pasujące na dole).

Na przykład:

(a, b, c, d to parametry Produktu):

Grupa
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@soma115: Jeżeli zignorować, że produkty są różnych klas, to maski cech dalej działają.

Lista cech - koszulka, kubek, szklanka, buty, niebieskie, zielone, skórzane, przeźroczyste, XXL, 0.33L, 45
Item1 - True, False, False, False, True, False, False, False, True, False, False
Item2 - False, True, False, False, False, True, False, False, False, True, False
Item3 - False, False, False, True, False, False, True, False, False,
  • Odpowiedz
@Drahearys: SciPy nie zainstalujesz przez pip, bo tam jest tylko kod źródłowy do kompilacji, który wymaga bibliotek blas, kompilatora fortrana i jeszcze jakichś innych rzeczy. Anaconda / Miniconda instaluje od razu binarki, więc to jest najlepszy sposób. Robisz conda install -n NazwaSrodowiska scipy i się instaluje. PyCharm tego nie widzi, bo prawdopodobnie masz w nim ustawioną ścieżkę do głównej instalacji pythona, a nie do lokalnego środowiska, w którym instalowałeś.
  • Odpowiedz
Podczas zapisu do bazy mam dzinwe kodowanie ( swoją drogą query tez ma dzinwe ), wrzucam do bazy:

INSERT INTO announcments (title) VALUES ( 'Pokój 7,5M2 Warneńska,WOLNE OD ZARAZ')
a w bazie faktycznie ląduje taka wartość

Pokój 7,5M2 Warne?ska,WOLNE
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@destyl: Jak to Twoja baza, to przestaw debilny latin1swedish na globalny utf8; wtedy każda nowa tabela będzie miała domyślnie utf8 w kolumnach tekstowych i nie będziesz musiał martwić się o ciągłe poprawianie
  • Odpowiedz
#programowanie #python

Mirki jakę książke/opracowanie polecacie do pythona? Nie chodzi mi o podstawy składni, ale bardziej o różnego rodzaju smaczki i dobre praktyki, np. jak obslugiwane i rozumiane są zmienne prywatne (których oficjalnie nie ma), jak wyglada lokowanie na pamięci/zwalnienie jej itd.
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach