You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Scrapy无法爬取spitogatos.gr房产网站的解决方案问询

解决方案

现有代码问题排查

你当前代码无法正常请求的核心原因是请求头字段名写错:headers里定义的是User Agent,正确的HTTP请求头键名为User-Agent,缺少横杠会导致站点无法识别你传入的浏览器UA,直接触发拦截规则。

具体配置步骤

  • 第一步:调整Scrapy全局配置,打开项目下的settings.py文件,修改/新增如下参数:
    # 按需调整是否遵守robots规则,若你的爬取行为合规(单日仅1次、数据量小、非商用)可设置为False绕过拦截
    ROBOTSTXT_OBEY = False
    # 全局配置默认UA,不需要在爬虫代码里单独传
    USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
    # 单并发请求,避免触发频率限制
    CONCURRENT_REQUESTS = 1
    # 每个请求间隔10秒,可根据实际爬取量调整,单日单次爬取完全不会对站点造成压力
    DOWNLOAD_DELAY = 10
    
  • 第二步:简化爬虫代码,修正后的代码如下:
    import scrapy
    class MainprojectSpider(scrapy.Spider):
        name = 'mainProject'
        allowed_domains = ['www.spitogatos.gr']
        start_urls = ['https://www.spitogatos.gr/']
    
        def parse(self, response):
            # 测试提取代码
            print(response.xpath('//h2[@class="text thin h1"]/text()').extract())
            # 后续正常写你的数据提取逻辑即可
    
  • 第三步:实现每日自动爬取,不需要在Scrapy框架内额外开发定时逻辑,直接用系统定时任务触发即可:
    • Linux系统直接配置crontab规则,每天固定时间执行scrapy crawl mainProject命令
    • Windows系统使用自带的任务计划程序,配置每日定时执行爬取命令即可

按照以上配置调整后,因为你的爬取频率极低,基本不会被站点的反爬机制拦截,可以稳定拿到数据。

内容的提问来源于stack exchange,提问作者user3836267

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 20:51:01