Wpis z mikrobloga

#naukaprogramowania #python

Mirki rzucicie okiem na ten kod? To jest mój pierwszy większy programik, dużo błędów jest z pewnością, ale chętnie posłucham konstruktywnej krytyki.

A co on robi?
Pobiera ze strony www.rzeszowiak.pl ogłoszenia o pracę ze słowem kluczowym 'python' (sztywno wpisałem to słowo). Znajdując ogłoszenie sprawdza w bazie czy już takie istnieje i jeśli jest nowe to przesyła emailem skróconą treść i podstawowe wyciągnięte z niego dane.

Wiem, że można dodać jeszcze wiele funkcjonalności do tego, ale póki co pytam tylko o składnie, błędy i jakieś rady.
Braku testów i komentarzy jestem świadom.

pastebin 3 pliki
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@plebsik: z takich pierdułek:
- zamiast i += 1 użyj enumerate,
- w class DataAdvertisement wystraczy np zrobic return self.value[2].text[0:17] zamiast najpierw robic z tego zmienna date. I praktycznie do każdej metody możesz dodac @properties.
- adresy lepiej łączyć przez urljoin niż przez +, podobnie ze stringami.
- w przyszłości warto zaczać używać ORM do baz danych np. SQLAlchemy.

- co sie stanie gdy adres bedzie bledny lub
  • Odpowiedz
@plebsik: nie uzywaj + do laczenia stringow(malo czytelne i malo wydajne), do adresow - jak miszazg wspomnial, do jakis zwyklych stringow - .format() lub .join() jesli chcesz polaczyc elementy jakiegos iterabla

zamiast "db
init.findnew() != []" daj "if dbinit.findnew()" - nie ma potrzeby tworzyc pustej listy zeby sprawdzic czy Twoja jest pusta.

zamiast petli i string+= za kazdym razem, wygeneruj sobie gotowa liste i uzyj "\n\n\n".join(lista)
  • Odpowiedz