知识星球是什么?
知识星球是创作者连接铁杆粉丝,做出高品质社群,实现知识变现的工具。创作者可以用知识星球连接铁杆粉丝,做出高品质社群,实现知识变现。
知识星球解决的核心问题是社群收费管理难问题和内容不能沉淀问题。微信公众号、微博和行业专家——这些有粉丝的创作者是知识星球的核心用户,都可以用知识星球运营社群,知识变现。
以上来自知识星球官网的介绍 https://help.zsxq.com/ 口号是连接1000位铁杆粉丝。
为什么用星球
我没做过社群,也不是什么行业专家,毕竟不是什么大v,为什么要用知识星球呢?主要是现在获取的资讯太多了,想沉淀记录些东西,方便自己,也方便他人找,为什么不用微博呢?微博用了很多年,每天都在更新,目前已经8万多条微博了。
微博上有很多mark党,不断转发微博,但几乎没再去看过,不知道你是否也这样,以为收藏就看过了,其实只是种心里安慰。
而且微博上转发的东西经常被删,微博太多管理起来也麻烦,于是6月份的时候建立了一个免费的星球,就是这个了https://wx.zsxq.com/dweb2/index/group/141281112142
星球还可以上传文件,和微博一样加标签方便分类,还提供网页版,比微信方便多了。
导出星球
过去3个月更新几百条信息了,也都加好标签。现在有200多个小伙伴了,你有兴趣也加入吧。
比如工具这个标签列表的内容https://wx.zsxq.com/dweb2/index/tags/%E5%B7%A5%E5%85%B7/828821151512
但内容多了以后翻起来也麻烦,于是想着下载下来看,最好能导出PDF,于是准备研究下,搜索下发现有人已经做过了 https://github.com/wbsabc/zsxq-spider https://github.com/96chh/crawl-zsxq
思路为抓取网页版的接口https://api.zsxq.com/v1.10/groups/141281112142/topics?scope=all&count=20 每次加载20条,每次的最后一条的create_time为下次的开始时间,如果没有20条说明加载完了。不过他的代码还有些问题,需要改动下,于是开始动手了。
1 | import re |
执行效果见图
生成的PDF文件有点大,565页 ,50多M,主要是评论和图片都下载了,不下载的话5M差不多。
为了验证付费星球也能下载,我还建了个付费星球https://wx.zsxq.com/dweb2/index/group/224445125221,以后也会经常更新。
评论和回复也下载了
2019.6.19创建的星球
Python生成的词云效果不大好,还没过滤好无用的词。
文字版也导出到TXT了。
在词云网站 http://cloud.niucodata.com/ 将下载的文字放进去就能看到词频统计和词云图。
如果你想看下载这个PDF,公众号回复 星球
获取PDF和文字版。
https://pan.baidu.com/s/1pJ-nLiLLMlK08_vwoE0ZuA
https://pan.baidu.com/s/1TcYpM4x5td2GLjkltHJhBQ
wkhtmltopdf
使用过程中发现wkhtmltopdf这个工具很好用 https://wkhtmltopdf.org/ 这个软件很方便在命令行生成图片和PDF,
执行 wkhtmltoimage www.qq.com qq.png
,就会在当前目录下生成了一张png图片。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19$ wkhtmltoimage www.qq.com qq.png
Loading page (1/2)
QFont::setPixelSize: Pixel size <= 0 (0) ] 44%
libpng warning: iCCP: known incorrect sRGB profile ] 64%
Rendering (2/2)
Done
$ wkhtmltopdf www.qq.com qq.pdf
Loading pages (1/6)
QFont::setPixelSize: Pixel size <= 0 (0) ] 44%
libpng warning: iCCP: known incorrect sRGB profile===> ] 87%
Counting pages (2/6)
QFont::setPixelSize: Pixel size <= 0 (0)=====================] Object 1 of 1
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
Warning: Received createRequest signal on a disposed ResourceObject's NetworkAccessManager. This might be an indication of an iframe taking too long to load.
Warning: Received createRequest signal on a disposed ResourceObject's NetworkAccessManager. This might be an indication of an iframe taking too long to load.
这个命令还可以增加一些参数,比如常用的设置宽高,图片质量等参数
执行wkhtmltoimage --crop-w 410 --width 410 --quality 50 www.bing.com bing2.png
看看1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41--crop-w 410:截图宽度410px
--width 410:浏览器模拟宽度410px
--quality 50:图片质量(这个值越大,图片质量越高,当然文件也会比较大)
还有更多参数用法,请 wkhtmltoimage -h查看。
HTML转pdf同理,wkhtmltopdf -h
wkhtmltopdf -v
--collate 当输出多个副本时进行校验(这是默认设置)
--no-collate 当输出多个副本时不进行校验
--cookie-jar <path> 从提供的 JAR 文件中读写 cookie 数据
--copies <number> 设置输出副本的数量(默认主 1),其实为 1 就够了
-d, --dpi <dpi> 指定一个要分辨率(这在 X11 系统中并没有什么卵用)
-H, --extended-help 相对 -h 参数,显示更详细的说明文档
-g, --grayscale 指定以灰度图生成 PDF 文档。占用的空间更小
-h, --help 显示帮助信息
--htmldoc 输出程序的 html 帮助文档
--image-dpi <integer> 当页面中有内嵌的图片时,
会下载此命令行参数指定尺寸的图片(默认值是 600)
--image-quality <interger> 当使用 jpeg 算法压缩图片时使用这个参数指定的质量(默认为 94)
--license 输出授权信息并退出
-l, --lowquality 生成低质量的 PDF/PS , 能够很好的节约最终生成文档所占存储空间
--manpage 输出程序的手册页
-B, --margin-bottom <unitreal> 设置页面的 底边距
-L, --margin-left <unitreal> 设置页面的 左边距 (默认是 10mm)
-R, --margin-right <unitreal> 设置页面的 右边距 (默认是 10mm)
-T, --margin-top <unitreal> 设置页面的 上边距
-O, --orientation <orientation> 设置为“风景 (Landscape)”或“肖像 (Portrait)”模式,
默认是肖像模块 (Portrait)
--page-height <unitreal> 页面高度
-s, --page-size <Size> 设置页面的尺寸,如:A4,Letter 等,默认是:A4
--page-width <unitreal> 页面宽度
--no-pdf-compression 不对 PDF 对象使用丢失少量信息的压缩算法,不建议使用些参数,
因为生成的 PDF 文件会非常大。
-q, --quiet 静态模式,不在标准输出中打印任何信息
--read-args-from-stdin 从标准输入中读取命令行参数,后续会有针对此指令的详细介绍,
请参见 **从标准输入获取参数**
--readme 输出程序的 readme 文档
--title <text> 生成的 PDF 文档的标题,如果不指定则使用第一个文档的标题
-V, --version 输出版本信息后退出
wkhtmltopdf “/home/wang/test.html” /home/wang/test.pdf
wkhtmltopdf “https://www.jd.com" /home/wang/jj.pdf
中文乱码
如果你是在 linux 上执行脚本可能会出现中文乱码,解决方法就是从windows拷贝宋体字体文件 c:\windos\fonts\simhei.ttf
到/usr/share/fonts/
下1
2
3
4
5cd /usr/share/fonts/
cp simhei.ttf .
mkfontscale
mkfontdir
fc-cache
再次执行fc-list可以看到已经安装的字体了。
phantomjs
除了wkhtmltopdf生成PDF还有phantomjs 的功能也很强大,做爬虫应用,抓取网页数据、网页截屏、页面访问自动化等。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19set_time_limit(0);
$path = '/bin/phantomjs'; //phantomjs路径
//$jsPath = '/home/test/phantomjs/examples/test.js';
$url = 'https://baidu.com/'; //要抓取的网页
$out = 'baidu.png'; //图片保存路径
$cmd = "$path --output-encoding=utf-8 $jsPath $url $out";
echo $cmd;
system($cmd);
创建test.js
```js
var page = require('webpage').create();
var args = require('system').args;
var url = args[1];
var filename = args[2];
page.open(url, function () {
page.render(filename);
phantom.exit();
});
执行 /home/test/phantomjs/bin/phantomjs test.js http://www.baidu.com baidu.png
puppeteer
puppeteer 是 chrome 提供的一个无头浏览器,它是替代 phantomjs 的一个替代品,多用于实现自动化测试。官方仓库地址:https://github.com/GoogleChrome/puppeteer,Puppeteer 能用来干啥,有哪些功能:
生成页面的截图和 PDF
爬取网站内容
模拟登陆、自动提交表单,UI 测试,键盘输入等
使用最新的 JavaScript 和浏览器功能,直接在最新版本的 Chrome 中运行测试。
捕获网站的时间线跟踪,以帮助诊断性能问题
测试 Chrome 扩展
screenshoteer是基于Puppeteer 的命令行工具1
2
3
4
5
6npm i -g screenshoteer
screenshoteer --url https://nicelinks.site/
λ screenshoteer --url http://qq.com
http://qq.com
true
腾讯首页
pdfkit
这是个Python生成PDF的库1
2
3
4
5
6
7
8
9
10>>> import pdfkit
>>> config = pdfkit.configuration(wkhtmltopdf=r'd:\wkhtmltopdf\bin\wkhtmltopdf.exe')
>>> pdfkit.from_url('https://sogou.com', 'sogou.pdf', configuration=config)
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
True
也可以将本地文件生成PDF
pdfkit.from_file(‘test.html’, r’D:\test’ + id + ‘.pdf’, configuration=config)
popple
pdf软件 poppler https://github.com/freedesktop/poppler1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ pdfinfo 知识星球_苏生不惑.pdf
Title:
Creator: wkhtmltopdf 0.12.5
Producer: Qt 4.8.7
CreationDate: 09/04/19 21:02:59
Tagged: no
UserProperties: no
Suspects: no
Form: none
JavaScript: no
Pages: 565
Encrypted: no
Page size: 612 x 792 pts (letter)
Page rot: 0
File size: 0 bytes
Optimized: no
PDF version: 1.4
λ pdf
pdfdetach.exe pdfimages.exe pdfseparate.exe pdftohtml.exe pdftops.exe pdfunite.exe
pdffonts.exe pdfinfo.exe pdftocairo.exe pdftoppm.exe pdftotext.exe
资源
pdf合并工具pdftk https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
初识wkhtmltopdf
中文字体https://github.com/sonatype/maven-guide-zh/raw/master/content-zh/src/main/resources/fonts/simsun.ttc
http://einverne.github.io/post/2019/01/html-to-pdf.html
Web 屏幕截图工具
使用 Laravel-snappy 生成 PDF 踩坑记录https://learnku.com/articles/25922
https://github.com/Kozea/WeasyPrint
基于前端技术生成PDF方案https://juejin.im/post/5d036a78f265da1bce3dcd40
HTML转成PDF的4个方案及实现
js导出图片与pdf的方案https://www.jianshu.com/p/408748cfa76e
HTML 转换 PDF 解决方案
抓取网页生成 PDF http://jartto.wang/2018/10/13/nodejs-pdf/
星球导航网站
https://tooltowin.com/zsxq/1124/
https://www.101ker.com/p/2284
https://xiaogenhua.com/2019/05/20/caozsay/
https://www.kindkp.com/
推荐星球
这段时间也加入了不少星球,推荐一个我几乎每天看的星球,为什么每天看呢,因为星主每天分享,太勤快了,星球名叫 风巢套利日享(限免)
,免费的https://wx.zsxq.com/dweb2/index/group/554228114224
这是这个星球的词云,看到这些关键词,你心动了吗?点击阅读原文或扫码加入星球。
路人甲
不安分的
大门口
最后如果你也想导出哪个星球,拉我进去帮你导出来。
推荐阅读:
公众号:苏生不惑