Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xiongwilee/techweekly
高可配的技术周报邮件推送工具
https://github.com/xiongwilee/techweekly
crawler nodejs techweekly
Last synced: about 2 months ago
JSON representation
高可配的技术周报邮件推送工具
- Host: GitHub
- URL: https://github.com/xiongwilee/techweekly
- Owner: xiongwilee
- Created: 2017-01-09T12:27:30.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-12-22T04:02:02.000Z (about 7 years ago)
- Last Synced: 2024-11-01T14:51:54.429Z (about 2 months ago)
- Topics: crawler, nodejs, techweekly
- Language: JavaScript
- Homepage:
- Size: 11.7 KB
- Stars: 23
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Techweekly
高可配的技术周报邮件推送工具。
![](http://img002.qufenqi.com/products/7c/ba/7cbac61933c8e8d21fe2e3915d4618e4.jpeg)
## 快速入门
第一步,下载代码,安装依赖:
```shell
$ git clone https://github.com/xiongwilee/Techweekly.git
$ cd Techweekly && npm install --registry=https://registry.npm.taobao.org
```第二步,修改邮件配置`config/config.mail.js`:
```javascript
module.exports = {
"sender": {
"host": "邮箱服务器host",
"port": "邮箱服务器端口号",
"auth": {
"user": "邮箱地址",
"pass": "邮箱密码"
}
},
"subject": "邮件主题",
"from": "你的名字 <邮箱地址>",
"to": ["收件人邮箱地址"]
}
```或者,你也可以直接使用默认的邮箱配置`config.mail.sample.js`,修改`config.mail.sample.js`为`config.mail.js`
第三步,发送周报邮件:
```shell
$ node index.js
```**FYI:**
如果你需要定时发送邮件,推荐使用`crontab`:
```shell
* 10 * * 5 cd /your/project/path/ && node index.js
```## 贡献
Techweekly默认支持[fex](https://github.com/zenany/weekly/tree/master/software/)和[75team](https://weekly.75team.com/)两个默认周报源,你可以根据自己的需求配置周报来源:
```javascript
"源ID(可以配置任意字符)": {
/**
* 页面连接,可以是一个string, 也可以是function,如果是function则:
* @return {String} 页面URL
*/
url: function() {},/**
* 通过url获取文章内容URL的方法
* @param {string} html 通过页面连接爬取到的页面html
* @return {String} 从html中解析到的文章内容的链接
*/
getLink: function(html) {},/**
* 通过文章内容的链接爬取到文章主体
* @param {String} html 通过文章内容的链接爬取到文章的html
* @return {String} 文章主体部分的html
*/
getContent: function(html) {}
}
```**FYI:**
在`getLink`和`getContent`方法里,你可以直接使用[cheerio](https://github.com/cheeriojs/cheerio#cheerio)来解析DOM。
## 作者
* [xiongwilee](https://github.com/xiongwilee)