cdfang-spider

授权协议 MIT License
开发语言 JavaScript
所属分类 Web应用开发、 常用JavaScript包
软件类型 开源软件
地区 不详
投 递 者 端木权
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

cdfang-spider

Build Status

成都房协网数据分析

统计成都自摇号以来所有的房源信息,通过图表的形式展示出来。

Preview

在线预览:https://cdfangyuan.cn

源代码:https://github.com/mengsixing/cdfang-spider

Features

已实现的功能:

  • 房源数据同步最新。
  • 房源价格动态保持更新。
  • 首页:登记中房源、汇总统计展示。
  • 首页:按楼盘数、房源数统计,及统计结果排名。
  • 首页:按区域统计,汇总表查询。
  • 历史页:年度汇总统计展示。
  • 历史页:按房源数、区域、月份统计,及统计结果排名。
  • 历史页:按房源数、楼盘数、区域统计,汇总表查询。

Technology

主要用到的技术:

  • React:MVVM 框架,用于构建前端界面。
  • Ant Design:基于 React 的组件库。
  • Bizchats:基于 React 的图表库。
  • Less:CSS 预处理器,提供变量、计算、嵌套、Mixin、函数等。
  • Webpack:打包前端项目,生成静态文件。
  • Apollo:基于 GraphQL 封装,用于搭建后端 GraphQL 支持和前端数据请求。
  • Koa:后端 Web 层框架,用于接收请求,进行处理。
  • Cheerio:解析抓取的 HTML 数据。
  • Mongoose:为 MongoDB 定义数据模型。
  • Gulp:打包后端项目,编译 TS 语法。
  • Jest:测试前后端项目,单元测试,API 测试等。
  • Typescript:为 JS 提供良好的类型检查功能,能编译出高质量的 JS 代码。

项目没有使用脚手架工具搭建,都是一步一步配置而成。具体的搭建流程:项目选型与环境搭建

Start

# clone with Git Bash
git clone https://github.com/mengsixing/cdfang-spider.git

# change directory
cd cdfang-spider

# install dependencies
npm i

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

Deploy

# clone with Git Bash
git clone https://github.com/mengsixing/cdfang-spider.git

# change directory
cd cdfang-spider/docker

# run docker containers. It may take a long time.
docker-compose up -d

# server running at localhost:8082

License

MIT

Copyright (c) 2020 mengsixing

 相关资料
  • 问题内容: 我有一个Django站点,当用户请求时会发生刮擦,并且我的代码在新过程中启动了Scrapy Spider独立脚本。自然,这与增加用户数量无关。 像这样: 我决定使用Celery并使用工作人员将爬网请求排队。 但是,我遇到了无法重新启动龙卷风反应堆的问题。第一个蜘蛛和第二个蜘蛛成功运行,但随后的蜘蛛将引发ReactorNotRestartable错误。 任何人都可以在Celery框架中运

  • 本文向大家介绍.net 解决spider多次和重复抓取的方案,包括了.net 解决spider多次和重复抓取的方案的使用技巧和注意事项,需要的朋友参考一下 原因: 早期由于搜索引擎蜘蛛的不完善,蜘蛛在爬行动态的url的时候很容易由于网站程序的不合理等原因造成蜘蛛迷路死循环。 所以蜘蛛为了避免之前现象就不读取动态的url,特别是带?的url 解决方案: 1):配置路由 第一个参数是路由名称 第二个参

  • 问题内容: 有一个令人毛骨悚然的项目,其中包含多个spider。我有什么方法可以定义为哪个spider使用哪个管道?并非我定义的所有管道都适用于每个spider。 问题答案: 在Pablo Hoffman的解决方案的基础上,你可以在对象的方法上使用以下装饰器,以便它检查你的Spider属性是否应执行。例如: 为了使此装饰器正常工作,蜘蛛程序必须具有管道属性,其中包含要用于处理项目的管道对象的容器,

  • 问题内容: 会做到的。我试图将用户定义的参数传递给scrapy的Spider。谁能建议该怎么做? 我在某处读到一个参数,但不知道如何使用它。 问题答案: Spider参数使用选项在命令中传递。例如: Spider程序可以将参数作为属性访问: 摘自Scrapy文档:http ://doc.scrapy.org/en/latest/topics/spiders.html#spider-argument

  • 问题内容: 我创建了一个Spider,并将一个方法链接到spider_idle事件。 如何手动添加请求?我不能仅仅从解析返回项- 在这种情况下,解析不会运行,因为所有已知的URL都已解析。我有一个生成新请求的方法,我想从spider_idle回调中运行它来添加创建的请求。 更新: 我已经确定我可能需要该对象,但是尽管它可以从实例中获得,但我不完全知道如何从蜘蛛中获取该对象。 更新2: ..谢谢。.

  • 问题内容: 我有一个Django站点,当用户请求时会发生刮擦,并且我的代码在新过程中启动了Scrapy Spider独立脚本。自然,这与增加用户无关。 像这样: 我决定使用Celery并使用worker来对爬网请求进行排队。 但是,我遇到了无法重新启动tornado反应堆的问题。第一个蜘蛛和第二个蜘蛛成功运行,但随后的蜘蛛将引发ReactorNotRestartable错误。 任何人都可以在Cel