georgekasa Δημοσ. 31 Ιουλίου 2021 Δημοσ. 31 Ιουλίου 2021 (επεξεργασμένο) Καλημέρα προσπαθώ να κάνω scrape το spitogatos, δυστυχώς δεν έχω βγάλει άκρη, δηλαδή καταφέρνω και κάνω scraping 4/10 links/per page. Επισυνάπτω μια εικόνα παρακάτω, δηλαδή όπως βλέπετε τα links τα βγάζει μια χαρά, και όταν κάνει scrape τα 4 πρώτα μου τα δειχνει κομπλέ, αλλά μετά δεν ξερω γιατί δεν μπορεί να κάνει scrape νμζ πως ειναι κατι με anti robot που εχουν βαλει. Μηπως καποιος μπορει να με βοηθήσει. ευχαριστώ πολύmainProject.py import scrapy class MainprojectSpider(scrapy.Spider): name = 'mainProject' allowed_domains = ['www.spitogatos.gr'] # DOWNLOADER_MIDDLEWARES = { #'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None, #'scrapy_useragents.downloadermiddlewares.useragents.UserAgentsMiddleware': 500, #} headers = { "authority": "www.spitogatos.gr", "pragma": "no-cache", "cache-control": "no-cache", "sec-ch-ua": "\" Not;A Brand\";v=\"99\", \"Google Chrome\";v=\"91\", \"Chromium\";v=\"91\"", "sec-ch-ua-mobile": "?0", "upgrade-insecure-requests": "1", "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "sec-fetch-site": "same-origin", "sec-fetch-mode": "navigate", "sec-fetch-user": "?1", "sec-fetch-dest": "document", "accept-language": "en-GB,en;q=0.9,el-GR;q=0.8,el;q=0.7,en-US;q=0.6" } cookies = { "PHPSESSID": "946hl5lpbcf6jalm271g2450u8", "spitogatosHomepageMap": "0", "currentCurrency": "EUR", "_ga": "GA1.2.1080968683.1626031679", "_gid": "GA1.2.1871094347.1627582033", "_hjTLDTest": "1", "_hjid": "66a31a57-9c80-47f1-8767-9bca91d47b1f", "_fbp": "fb.1.1626031679317.910543448", "__qca": "P0-1840509725-1625417320200", "_hjAbsoluteSessionInProgress": "0", "openedTabs": "1", "_gat_UA-3455846-10": "1", "_gat_UA-3455846-2": "1", "_hjIncludedInSessionSample": "1", "reese84": "3:5Stu7C2tUWBSIdWSdzMOSQ==:ppmbagk94sf6IvvS66908AApyTMfCE+K7i7PgkeyRs6C9VGkCcqBSz8ZsgbOx56c46ktjL+1iyfp8zL1PuiT7AUsmA9XLdcmMoDQm30MnEPgcbQl/dMQV1PgqtVJgWVwGabZlMhGM+T6D8zf5ENVuGhLJ81U74a+gr+GySA5Xx/CqUPcGa/YG2zNICEMnZN7D4bRwJq6vxEvOU+wbSfAE6OquI4ipeHR3dz8jBwY961ka2PfY7MoLCLeGdzPUu07yOxv41lvdcZbaj9/peyxLnLSFqD9QnV5MXsXy7mKE3eNoT46F/ITB8/GAVpc/zqW792F+7HuUkWJD/pWaNOsr6+rc75kpKw15xtN5oCw9Qh3Fw9SYUtfbFMTRXBrUt0Ow/Lv2C3oOLBQyVex80cr76c4ibxS/niuNvKA87f7XZc=:THUtE26ivNhlKtaznqNuX7swpAf4x5S8pF+xoBg5KwE=" } #start_urls = ['https://www.spitogatos.gr/'] def start_requests(self): url = 'https://www.spitogatos.gr/pwliseis-katoikies/athina-notia-proastia/' yield scrapy.Request( url=url, method='GET', cookies=self.cookies, headers=self.headers, callback= self.parse, ) def parse(self, response): print(response.xpath('//span[@class="tile-v5-sr__details-price"]/text()').extract()) houses = response.xpath('//h4[@class="tile-v5-sr__title"]') print("houses"+str(len(houses))) for house in houses: link = house.xpath('.//@href').get() print(link) yield response.follow(url=link, callback=self.parse_housing, meta={'description': "name"}, headers = self.headers, cookies= self.cookies) # next_page = response.xpath("//li[@class='next']/a@href").get() # if next_page: # yield response.follow(url=next_page, callback=self.parse, meta={'description': "name"}, # headers = self.headers, cookies= self.cookies) def parse_housing(self, response): name = response.request.meta['description'] print(response.xpath('.//h6[@class="line__text nowrap"]/text()').extract()) print(response.xpath('.//div[@class="line"]/h6/text()').extract())#tetragonika metra yield (response.xpath('.//h6[@class="line__text nowrap"]/text()').extract()) Επεξ/σία 31 Ιουλίου 2021 από georgekasa
social3ntropi Δημοσ. 21 Νοεμβρίου 2021 Δημοσ. 21 Νοεμβρίου 2021 πιθανον κανεις πολλα request. βαλε καθυστερηση. Για να μπoρεσεις να κανεις scrape αναλογα με τα μετρα που παιρνει καθε σελιδα θα χρειαστεις ips ενα vpn που να μπορεις να αλλαζεις ip για αρχη και κρατα λογικο επιπεδο ας πουμε οχι πανω απο 100 τη μερα. Θα καωεις καποιες ip ισως και θα δεις που πιανει το συστημα τους , δοκιμασα rotation σε tor για δωρεαν με κοβει. Τωρα για συστημα που δεν το σταματa τιποτα θες λεφτα να kανεις rotating ips. 1
georgekasa Δημοσ. 22 Νοεμβρίου 2021 Μέλος Δημοσ. 22 Νοεμβρίου 2021 Ναι το σκέφτηκα αυτό να το με ένα VPN rotate h python έχει κάποια API gia VPN σκεφτόμουν να άλλαζα και Mac address apo Linux me virtual machine μπορείς.
social3ntropi Δημοσ. 29 Νοεμβρίου 2021 Δημοσ. 29 Νοεμβρίου 2021 δεν νομιζω οτι απο vpn βλεπουν το δικου σου mac address , κανε ενα check. Επισης βλεπεις το pattern με τον referer ? Πρεπει να σπασεις τα request patterns. Θα μαζεύεις link και θα τα ζητας σε αλλο χρονο τυχαια .
georgekasa Δημοσ. 29 Νοεμβρίου 2021 Μέλος Δημοσ. 29 Νοεμβρίου 2021 δεν το γνωριζω pattern με τον referer
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα