diff --git a/docs/conf.py b/docs/conf.py index d72e98d..47bf808 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -108,6 +108,8 @@ # refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars html_sidebars = { '**': [ + 'about.html', + 'navigation.html', 'relations.html', # needs 'show_related': True theme option to display 'searchbox.html', ] diff --git a/morizon/offer.py b/morizon/offer.py index dbd4349..41b9055 100644 --- a/morizon/offer.py +++ b/morizon/offer.py @@ -1,6 +1,8 @@ #!/usr/bin/python # -*- coding: utf-8 -*- import datetime as dt +import json + import re from bs4 import BeautifulSoup @@ -209,6 +211,13 @@ def get_voivodeship_for_offer(item, *args, **kwargs): return replace_all(nav[3], {' ': ''}) +def get_meta_data(markup): + data = str(markup).split('__layer.push({"property":')[1].split(',"company":')[0] + print(data) + data = json.loads(data) + return data + + def get_offer_data(url): """ Parse data from offer page url @@ -218,8 +227,10 @@ def get_offer_data(url): :rtype: dict """ markup = BeautifulSoup(get_content_from_source(url), 'html.parser') + meta_data = get_meta_data(markup) return { + 'id': meta_data.get('id'), 'price': get_price_for_offer(markup), 'surface': get_surface_for_offer(markup), 'rooms': get_rooms_for_offer(markup), diff --git a/morizon/utils.py b/morizon/utils.py index e5287ae..b4a70e4 100644 --- a/morizon/utils.py +++ b/morizon/utils.py @@ -38,7 +38,7 @@ def encode_text_to_url(text): :param text: raw text :type text: str :return: encoded text which can be used in url - :rtpe: str + :rtype: str """ replace_dict = POLISH_CHARACTERS_MAPPING replace_dict.update({' ': '-'}) diff --git a/test_data/output.json b/test_data/output.json deleted file mode 100644 index dfbc167..0000000 --- a/test_data/output.json +++ /dev/null @@ -1,2 +0,0 @@ -[{"price": 3900.0, "surface": 112.0, "rooms": 3, "floor": 0, "voivodeship": "pomorskie", "city": "Sopot", "street": "REYMONTA W\u0141ADYS\u0141AWA", "phone": "503 109 450", "date_added": 1473379200, "poster_name": "Urszula Strawi\u0144ska", "gps": ["54.4354", "18.557"], "description": "\nSopot, G\u00f3rny Sopot, Luksusowy Apartament 112m2Komfortowy apartament o powierzchni 112 m2 usytuowany na parterze przedwojennej willi w urokliwej, spokojnej i bardzo cichej cz\u0119\u015bci G\u00f3rnego Sopotu.Na powierzchni\u0119 apartamentu sk\u0142adaj\u0105 si\u0119:salon ok. 30 m2 wyposa\u017cony w kino domowekuchnia z jadalni\u0105 ok. 30 m2 i niewielkim wykuszem przeznaczonym na k\u0105cik kawowysypialnia ok 27 m2hallpok\u00f3j k\u0105pielowy z wann\u0105 i kabin\u0105 prysznicow\u0105osobne WC z bidetemgarderobaDodatkowym atutem jest mo\u017cliwo\u015b\u0107 korzystania z wyj\u015bcia na taras i do niewielkiego, zadbanego ogrodu oraz ze znajduj\u0105cej si\u0119 w cz\u0119\u015bci piwnicznej sauny na podczerwie\u0144.Do wy\u0142\u0105cznego korzystania jest r\u00f3wnie\u017c usytuowany w budynku gara\u017c o powierzchni ok. 18 m2 z bram\u0105 otwieran\u0105 na pilotaApartament bardzo zadbany, ca\u0142kowicie umeblowany i wyposa\u017cony we wszystkie niezb\u0119dne do komfortowego \u017cycia rzeczy. Wysoko\u015b\u0107 mieszkania 3,20 m.Otoczony zieleni\u0105 budynek usytuowany jest w\u015br\u00f3d przedwojennej, niskiej zabudowy w niewielkiej odleg\u0142o\u015bci od Tr\u00f3jmiejskiego Parku Krajobrazowego.Idealne miejsce dla wymagaj\u0105cego businessmana lub dyplomaty poszukuj\u0105cego na d\u0142u\u017cej wyj\u0105tkowego apartamentu w Sopocie.Miesi\u0119czny czynsz najmu - 3 900,- PLN bruttoDodatkowo 1 100,- PLN miesi\u0119cznie -zrycza\u0142towane koszty ogrzewania, ciep\u0142ej i zimnej wody, wywozu nieczysto\u015bci, ogrodnika, sprz\u0105tania klatki schodowej i posesjiWymagana kaucja w wysoko\u015bci jedno miesi\u0119cznego czynszu najmu tj. 3 900,- PLN. ", "images": ["https://img3.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxL2EvZzQ5OTFfbXdfUFUwOTNfMS5qcGcjdj0xXzYxNzg3NjU2NA==/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg", "https://img3.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxLzMvZzQ5OTFfbXdfUFUwOTNfMi5qcGcjdj0xXzYxNzg3NjU2OA==/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg", "https://img1.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxLzYvZzQ5OTFfbXdfUFUwOTNfMy5qcGcjdj0xXzYxNzg3NjU2Ng==/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg", "https://img1.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxLzcvZzQ5OTFfbXdfUFUwOTNfNC5qcGcjdj0xXzYxNzg3NjU2MA==/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg", "https://img2.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxL2QvZzQ5OTFfbXdfUFUwOTNfNS5qcGcjdj0xXzYxNzg3NjU1Mg==/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg", "https://img3.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxL2YvZzQ5OTFfbXdfUFUwOTNfNi5qcGcjdj0xXzYxNzg3NjU1Nw==/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg", "https://img1.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxL2IvZzQ5OTFfbXdfUFUwOTNfNy5qcGcjdj0xXzYxNzg3NjU1Mw==/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg", "https://img1.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxLzQvZzQ5OTFfbXdfUFUwOTNfOC5qcGcjdj0xXzYxNzg3NjU0OQ==/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg", "https://img2.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxLzAvZzQ5OTFfbXdfUFUwOTNfOS5qcGcjdj0xXzYxNzg3NjU0Nw==/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg", "https://img2.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxLzcvZzQ5OTFfbXdfUFUwOTNfMTAuanBnI3Y9MV82MTc4NzY1NjE=/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg", "https://img2.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxLzcvZzQ5OTFfbXdfUFUwOTNfMTEuanBnI3Y9MV82MTc4NzY1NDY=/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg", "https://img2.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxL2YvZzQ5OTFfbXdfUFUwOTNfMTIuanBnI3Y9MV82MTc4NzY1NTE=/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg", "https://img2.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2c0OTkxL2YvZzQ5OTFfbXdfUFUwOTNfMTMuanBnI3Y9MV82MTc4NzY1NTA=/1280/768/16/mieszkanie-do-wynajecia-sopot-gorny-112-m-morizon-pl-6106.jpg"], "url": "https://www.morizon.pl/oferta/wynajem-mieszkanie-sopot-gorny-reymonta-wladyslawa-112m2-mzn2024686106"}, -{"price": 1750.0, "surface": 46.5, "rooms": 2, "floor": 0, "voivodeship": "pomorskie", "city": "Sopot", "street": "Kr\u00f3la Jana Kazimierza", "phone": "+48 58 301 77 77", "date_added": 1509062400, "poster_name": "Jaros\u0142aw Niemczyk", "gps": ["54.44", "18.5625"], "description": "\nDwupokojowe mieszkanie w Sopocie.LOKALIZACJA: Nieruchomo\u015b\u0107 po\u0142o\u017cona przy ulicy Kr\u00f3la Jana Kazimierza, w pobli\u017cu pasa nadmorskiego, ERGO Areny, punkt\u00f3w us\u0142ugowych, przystank\u00f3w komunikacji miejskiej (niedaleko przystanek autobusowy, stacja SKM w odleg\u0142o\u015bci ok. 15 min), zaplecza gastronomicznego i \u015bcie\u017cek rekreacyjnych. Wniewielkiej odleg\u0142o\u015bci ods\u0142ynnej ulicy Boh. Monte Cassino. Do morza ok. 800 m.BUDYNEK: Kamienica z lat 50 - tych, II pi\u0119trowa. W bradzo dobrym stanie technicznym, po remoncie. Wej\u015bcie do budynku zabezpieczone domofonem. Przed budynkiem mo\u017cliwo\u015b\u0107 parkowania na og\u0142onodost\u0119pnych miejscach tj. wzd\u0142u\u017c ulicy. NIERUCHOMO\u015a\u0106: Mieszkanie o powierzchni 46,5 m2 po\u0142o\u017cone na parterze. Sk\u0142ada si\u0119 z salonu, sypialni, \u0142azienki wraz z WC, niezale\u017cnej kuchni i przedpokoju. Ca\u0142o\u015b\u0107 wykonana i urz\u0105dzona w bardzo \u0142adnym stylu, nowocze\u015bnie, w stonowanych i spokojnych kolorach. Pomieszczenia przystosowane do pod\u0142\u0105czenia Internetu oraz TV. Ogrzewanie gazowe.POMIESZCZENIA PRZYNALE\u017bNE: Do mieszkania przynale\u017cy du\u017ca piwnica o pow. 4m2.OP\u0141ATY: Cena wynajmu 1750,00 z\u0142 + op\u0142aty eksploatacyjne ok. 310,00 z\u0142 + energia elektryczna, gaz + woda wg zu\u017cycia. Obligatoryjna kaucja w wysoko\u015bci 1750,00 z\u0142.Serdecznie zapraszamy na prezentacj\u0119!!Podobne oferty naPrezentowana oferta ma charakter informacyjny, nie stanowi oferty handlowej w rozumieniu Art. 66 par. 1 Kodeksu Cywilnego. ", "images": ["https://img3.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2hhbmQvZS9oYW5kX213X0gwMDQ1OTlfMS5qcGcjdj0xXzg3Njk4MzUxNg==/1280/768/16/mieszkanie-do-wynajecia-sopot-wyscigi-47-m-morizon-pl-3694.jpg", "https://img3.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2hhbmQvOS9oYW5kX213X0gwMDQ1OTlfMi5qcGcjdj0xXzg3Njk4MzUzMA==/1280/768/16/mieszkanie-do-wynajecia-sopot-wyscigi-47-m-morizon-pl-3694.jpg", "https://img1.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2hhbmQvOC9oYW5kX213X0gwMDQ1OTlfMy5qcGcjdj0xXzg3Njk4MzUyNQ==/1280/768/16/mieszkanie-do-wynajecia-sopot-wyscigi-47-m-morizon-pl-3694.jpg", "https://img2.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2hhbmQvOC9oYW5kX213X0gwMDQ1OTlfNC5qcGcjdj0xXzg3Njk4MzUwNA==/1280/768/16/mieszkanie-do-wynajecia-sopot-wyscigi-47-m-morizon-pl-3694.jpg", "https://img2.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2hhbmQvNy9oYW5kX213X0gwMDQ1OTlfNS5qcGcjdj0xXzg3Njk4MzUyOQ==/1280/768/16/mieszkanie-do-wynajecia-sopot-wyscigi-47-m-morizon-pl-3694.jpg", "https://img1.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2hhbmQvNS9oYW5kX213X0gwMDQ1OTlfNi5qcGcjdj0xXzg3Njk4MzUxNw==/1280/768/16/mieszkanie-do-wynajecia-sopot-wyscigi-47-m-morizon-pl-3694.jpg", "https://img2.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2hhbmQvZC9oYW5kX213X0gwMDQ1OTlfNy5qcGcjdj0xXzg3Njk4MzUxOA==/1280/768/16/mieszkanie-do-wynajecia-sopot-wyscigi-47-m-morizon-pl-3694.jpg", "https://img1.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2hhbmQvZi9oYW5kX213X0gwMDQ1OTlfOC5qcGcjdj0xXzg3Njk4MzUwOA==/1280/768/16/mieszkanie-do-wynajecia-sopot-wyscigi-47-m-morizon-pl-3694.jpg", "https://img1.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2hhbmQvMi9oYW5kX213X0gwMDQ1OTlfOS5qcGcjdj0xXzg3Njk4MzUxMQ==/1280/768/16/mieszkanie-do-wynajecia-sopot-wyscigi-47-m-morizon-pl-3694.jpg", "https://img2.staticmorizon.com.pl/thumbnail/aHR0cDovL2ltZy5tb3Jpem9uLnBsL2hhbmQvOC9oYW5kX213X0gwMDQ1OTlfMTAuanBnI3Y9MV84NzY5ODM1MjA=/1280/768/16/mieszkanie-do-wynajecia-sopot-wyscigi-47-m-morizon-pl-3694.jpg"], "url": "https://www.morizon.pl/oferta/wynajem-mieszkanie-sopot-wyscigi-krola-jana-kazimierza-46m2-mzn2028653694"},