今天开源了一个百度云网盘爬虫项目,地址是https://github.com/callmelanmao/yunshare。
百度云分享爬虫项目
github上有好几个这样的开源项目,但是都只提供了爬虫部分,这个项目在爬虫的基础上还增加了保存数据,建立elasticsearch索引的模块,可以用在实际生产环境中,不过web模块还是需要自己开发
安装
安装node.js和pm2,node用来运行爬虫程序和索引程序,pm2用来管理node任务
安装mysql和mongodb,mysql用来保存爬虫数据,mongodb用来保存最终的百度云分享数据,这些数据是json格式的,用mongodb保存更方便。git clone https://github.com/callmelanmao/yunshare cnpm i
推荐使用cnpm命令安装npm依赖,最简单的安装方式$ npm install -g cnpm --registry=https://registry.npm.taobao.org
更多安装cnpm的命令可以去npm.taobao.org上面找。
初始化
爬虫数据(主要是url列表)都是保存在mysql数据库的,yunshare使用sequelizejs做orm映射,源文件在src/models/index.js
,默认的mysql用户名和密码都是root,数据看是yun,你需要手动创建yun数据库create database yun default charset utf8
密码根据自己需要进行修改,完成mysql配置之后就可以运行下面的命令gulp babel node dist/script/init.js
注意必须先运行gulp babel
把es6代码编译成es5,然后运行初始化脚本导入初始数据,数据文件在data/hot.json
,里面,是从页面 http://yun.baidu.com/pcloud/fr ... b%3D1 保存下来的。
启动项目
yunshare使用pm2进行nodejs进程管理,运行pm2 start process.json
启动所有的后台任务,检查任务是否正常运行可以用命令pm2 list
,正常运行的应该有4个任务。
启动elasticsearch索引
elasticsearch索引程序也已经写好了,mapping文件在data/mapping.json
,请确保你已经安装elasticsearch 5.0的版本之后才运行索引程序,命令pm2 start dist/elastic.js
。
默认的elasticsearch地址是http://localhost:9200,如果你需要修改这个地址,可以在src/ElasticWorker.js
里面修改,修改任何js源码之后记得运行gulp babel
,在重启pm2任务,不然修改是不会生效的。
在完成elasticsearch配置之后,你也可以在process.json里面添加一项elastic任务,这样就不需要单独启动索引程序了。
DEMO
哔哩搜索
下一篇接着介绍整个项目的整体设计思路和开发过程中遇到的问题。
相关推荐
【标题】"基于Python的百度云网盘爬虫"是一个项目,旨在教用户如何使用Python编程语言编写程序来抓取并下载百度云网盘上的公开资源。该项目涵盖了网络爬虫技术,结合了百度云盘的API接口,以及可能涉及的前端和后端...
ROS开源机器人控制基础-源程序-百度云链接 ROS开源机器人控制基础-源程序-百度云链接
百度云是中国知名互联网企业百度旗下的云存储服务之一,用户可以通过百度云分享和下载各类文件资源。在下载Ubuntu 14.04 Desktop AMD64 ISO时需要注意以下几点: 1. **链接有效性**:提供的百度云链接可能会因为...
The main goal behind Web-Harvest is to empower the usage of already existing extraction technologies. Its purpose is not to propose a new method, but to provide a way to easily use and combine the ...
哔哩搜索-百度网盘搜索引擎是一个以node.js进行开发的百度云分享爬虫项目。同时也是一个简单高效的nodejs爬虫模型。github上有好几个这样的开源项目,但是都只提供了爬虫部分,这个项目在爬虫的基础上还增加了保存...
phpQuery支持抓取网站,进行爬虫,非常强大,是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息。更有意思的是,它采用了jQuery的思想,你可以像使用jQuery一样...
该项目名为"狠心开源企业级舆情新闻爬虫项目",主要功能集中在自动化抓取和管理网络上的舆情新闻数据。从标题和描述中我们可以提炼出以下几个关键知识点: 1. **企业级舆情监控**:企业级舆情新闻爬虫是为了帮助...
webmagic是一个开源的Java垂直爬虫框架,目标是简化爬虫的开发流程,让开发者专注于逻辑功能的开发。webmagic的核心非常简单,但是覆盖爬虫的整个流程,也是很好的学习爬虫开发的材料。 本项目的主要特色: 完全...
根据提供的信息,“eclipse百度云地址”这一主题主要涉及到Eclipse这款流行的集成开发环境(IDE)以及如何通过百度云获取其安装包。接下来,我们将详细探讨Eclipse的相关知识点,包括其定义、特点、应用场景以及如何...
开源项目-V-I-C-T-O-R-12306.zip是一个与12306购票相关的开源项目,其中包含了12306-master这个主文件夹。从标签“开源项目”我们可以推断,这个项目是遵循开放源代码原则,允许用户查看、修改和分发其源代码的软件...
ZenTaoPMS-18.11开源版: ZenTaoPMS-18.11-php7.2_7.4.zip ZenTaoPMS-18.11-zbox.win64.exe ZenTaoPMS-18.11-zbox_amd64.tar.gz
开源项目-GoogleCloudPlatform-skaffold.zip,skaffold — easy and repeatable Kubernetes development
2021智能云边开源峰会是VMware联合了Intel、PingCAP、灵雀云等多家VMware创新网络合作伙伴,联合举办本次“智能云边开源峰会”。 2021智能云边开源峰会演讲PPT汇总,共30份。 云原生Commonwealth学习平台、实践与...
【开源项目-celrenheit-trending-machine.zip】是一个聚焦于GitHub趋势探索的开源项目,它允许用户查看GitHub在过去某一时间的热门项目。这个项目对于开发者、数据分析师以及对开源社区感兴趣的人员来说,是一个宝贵...
### 知识点详解 #### 一、Python基础 Python是一种高级编程语言,以...以上就是“全套百度云教程:python基础+进阶+项目篇 (含Django和Tornado)”的主要知识点概述。希望对您学习Python及相关的Web开发技术有所帮助。
- Nutch是Apache的开源搜索引擎项目,包括Web爬虫功能。它衍生出了Hadoop、Tika、Gora和Crawler Commons等项目,其中Hadoop成为大数据处理的标准。 9. **SeimiCrawler V2**: - SeimiCrawler是Java爬虫框架,强调...
Red Hat(红帽)公司(NYSE:RHT)是一家开源解决方案供应商,也是标准普尔500指数成员。总部位于美国北卡罗来纳州的罗利市,截止2015年3月3日,共有80多个分公司。红帽公司为诸多重要IT技术如操作系统、存储、...
WebLech是一个功能强大的Web站点下载与镜像免费开源工具。它支持按功能需求来下载web站点并能够尽可能模仿标准Web浏览器的行为。WebLech有一个功能控制台并采用多线程操作。
这是一款云开发校园微社区-二手交易_兼职_交友_项目微信小程序开源源码,可以给你提供快捷方便的校园生活,有很多有趣实用的板块和功能,如:闲置交易、表白交友、疑问互答、任务兼职、相约学习、失物招领、趣事分享...