相信近两年大家经常会听到「 信息差 」这个词,它确实可以为个人带来竞争优势,并提高个人决策的质量。与此同时,积极获取信息差也是一种重要的能力
最近在小红书闲逛时,发现有这么一类号主,他们专门整理城市每天的信息(包含:新闻、房产、招聘、演唱会、美食羊毛等)进行发布
他们以此获取同城流量,然后转化到私域流量进行变现
本篇文章将介绍如何利用 Python 一键生成这类信息流数据
1、Markdown 文件
发布到小红书的素材都是图片,利用 Python 生成图片有多种方式
比如:Pillow、OpenCV 直接生成一张图片,然后往里面写入内容
这种方式有一个缺点,就是生成的图片不够灵活,需要反复调试
所以这里推荐另外一种方式,即:按 Markdown 语法将内容写入到文件中
代码语言:javascript复制# markdown文件写入语法
# 标题栏:居中、设置字体大小、加粗
file.write("<div align='center' ><font size='30'><b>深圳大事件(7月16日)</b></font></div>")
# 小号标题
file.write("## 【新闻】nn")
# 关键内容标为红色,加粗,比如:金额
file.write("92号汽油:<font color=red><b>7.60元</b></font>元nn")
# 空格及换行
file.write("... ...nn")
我们只需要将爬取的内容按 Markdown 文件格式进行一次组装,然后写入到 Markdown 文件中
代码语言:javascript复制def write_md_file(md_file, content):
"""
# 写入到markdown文件中
:param md_file: markdown文件
:param content: 内容
:return:
"""
with open(md_file, 'w', encoding='utf-8') as file:
file.write(content)
2、转为 PDF
这一步,我们将 Markdown 文件转换为 PDF 文件
首先,需要安装依赖
代码语言:javascript复制# 依赖
pip3 install markdown
pip3 install pdfkit
pip3 install wkhtmltopdf
然后,读取 Markdown 文件,转为 HTML,并写入到一个临时的 HTML 文件中
PS:由于包含中文,这里写入 HTML 时指定字符编码为 utf-8
代码语言:javascript复制import markdown
import pdfkit
def markdown_to_pdf(md_file, pdf_file, html_file):
"""
将Markdown文件转为PDF文件
:param md_file: Markdown文件
:param pdf_file: PDF文件
:param html_file: 临时的HTML文件
:return:
"""
# 读取文件内容
with open(md_file, "r", encoding="utf-8") as f:
text = f.read()
html = markdown.markdown(text)
# 写入到HTML文件中
with open(html_file, "w", encoding="utf-8") as f:
f.write("<meta charset='utf-8'>")
f.write(html)
pdfkit.from_file(html_file, pdf_file)
最后,需要手动安装 wkhtmltopdf,不然运行会报 No wkhtmltopdf executable found 的异常
以 windows 为例,只需要下载对应的可执行文件进行安装,配置环境变量即可
https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf
3、转为图片
这样需要安装依赖 fitz
代码语言:javascript复制# 安装依赖
pip3 install fitz
pip3 install PyMuPDF
接着,需要打开 PDF 文件,逐页进行读取,然后在本地生成多张图片