1 个不稳定版本
0.1.0 | 2020 年 8 月 16 日 |
---|
#5 in #largest
145KB
1.5K SLoC
ptt-crawler (ptc)
台湾最大在线社区 PTT 网页版的爬虫。
另一个 PTT 爬虫,但用 Rust 编写。可以直接作为二进制文件使用或作为 crate。
目录
由 gh-md-toc 创建
功能
- 无依赖的单个可执行文件
- 支持跨平台
- 爬取单个文章或一个版块中的多篇文章
- 使用随机用户代理和代理服务器进行反反爬虫
入门
安装
ptt-crawler 的二进制文件名为 ptc
。目前没有预编译的二进制文件。您需要 Rust 1.40 或更高版本,并使用 cargo
从源代码构建 ptt-crawler。
从 crates.io 安装
> cargo install ptt-crawler
从源代码安装
> git clone https://github.com/cwouyang/ptt-crawler.git
> cd ptt-crawler
> cargo build --release
使用方法
- 爬取特定文章
> ptc url https://www.ptt.cc/bbs/Gossiping/M.1597463395.A.478.html
指定用户代理 -u
和爬取时使用的代理 -p
标志
> ptc -u "user/agent/string" -p "https://some.proxy" url https://www.ptt.cc/bbs/Gossiping/M.1597463395.A.478.html
# pass "random" to use randomly generated user agent
> ptc -u "random" https://www.ptt.cc/bbs/Gossiping/M.1597463395.A.478.html
- 爬取页码范围内的版块文章
# From page 100 (https://www.ptt.cc/bbs/Gossiping/index100.html) to 200 (https://www.ptt.cc/bbs/Gossiping/index200.html)
> ptc board Gossiping -r 100 200
# From page 1 to latest page
> ptc board Gossiping
使用 -l
标志列出支持的版块
> ptc board Gossiping --list
作为 crate 使用
将 ptt-crawler
添加到 Cargo.toml
文件中的依赖项
[dependencies]
ptt-crawler = "0.1"
请参阅 文档 了解使用方法。
运行单元测试
> cargo test --all
贡献
如果您想贡献,请 Fork 仓库并使用功能分支。Pull 请求非常受欢迎。
在提交 Pull 请求之前,请确保
链接
- 项目主页:https://github.com/cwouyang/ptt-crawler/
- 问题跟踪:https://github.com/cwouyang/ptt-crawler/issues
- 相关项目
- ptt-web-crawler:Python版本的PTT爬虫
版本
我们使用SemVer进行版本管理。有关可用的版本,请参阅此存储库的标签。
许可证
版权所有 (c) 2020 cwouyang。
本项目遵循MIT许可证条款。有关详细信息,请参阅LICENSE文件。
依赖项
~24–38MB
~639K SLoC