#rss #feed #scraping #cinema

app cinema_feed

爬取影院网站并将排期存入数据库,以RSS格式导出

2 个版本

0.1.4 2019年1月2日
0.1.3 2019年1月1日

#49 in #scraping

GPL-2.0-or-later

17KB
310

Rust语言编写的影院网站爬虫

一个网络爬虫,它获取特定日期的电影列表,将其保存到数据库中,并公开一个RSS订阅源。

警告:这不是一个通用crate,它仅用于特定用例:我的用例。最多只能作为新手的示例代码。

这不仅仅是一个普通的 Hello, world! 项目。这是对 Rust编程语言 的第一次接触,也就是我不知道我在做什么,我只是应用了很多google搜索和复制粘贴而已 ;-)

然而,作为一个教学项目,它确实非常有用,让我学习了Rust及其构建工具链、打包、寻求帮助的地方等等很多知识。

它是如何工作的

这个小程序基本上爬取一个网页,使用正则表达式提取一些数据,将结果保存到SQLite3数据库中,并输出一个符合RSS 2.0/Atom规范的XML文件(我将指导我的RSS订阅源检索器去获取)。

限制

HTML + 正则表达式。 就这么多说了

安装和需求

  • 在Rust 1.31稳定版上测试
  • 安装 cargo 以简化您的操作

运行

示例:CINEMA_URL="http://cinema.website.url" cargo run -- --date-from 2017-04-19 可选参数

  • --purge-db 在开始前删除(如果有的话)本地数据库
  • --feed-path 自定义RSS订阅源保存路径

详细调试

应用程序和每个库:RUST_LOG=debug cargo run -- --date-from 2017-04-19

应用程序专用:RUST_LOG=cinema_feed=debug cargo run -- --date-from 2017-04-19

数据库模块专用:RUST_LOG=db=debug cargo run -- --date-from 2017-04-19

依赖项

~60MB
~1M SLoC