dajing666 发表于 2021-3-24 00:10

知乎热榜生成图片

本帖最后由 dajing666 于 2021-3-24 12:04 编辑

今天看见一个公众号发了知乎热榜的接口
突然想着生成图片每天推送给自己看看
参考https://mp.weixin.qq.com/s/G3RJF43-XRaClcDxXXooMA

本人是Python菜鸟,文字转图片代码百度找的,多行文字转换又卡半天555
下一步准备加上日期啥的 有想法的可以一起研究研究

import requests
import json
import pygame
import os
import pandas as pd
import re
from PIL import Image, ImageDraw, ImageFont
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)#忽略证书警告
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0',}
url = "https://api.zhihu.com/topstory/hot-list?limit=10&reverse_order=0"
res = requests.get(url, headers=headers, verify=False)
res.encoding = 'utf-8'
s = json.loads(res.text)
列表=[]
list = s['data']
for i in list:
    title = i['target']['title']
    列表.append(title)
def 加序号(line):
    列表 = []
    for i in range(len(line)):
      dd="%s.%s" % (i + 1, line+"\n")
      列表.append(dd)
    return 列表
output_str="".join(加序号(列表))
print(output_str)

LINE_CHAR_COUNT = 50*2# 每行字符数:30个中文字符(=60英文字符)
CHAR_SIZE = 30
d_font = ImageFont.truetype('C:/Windows/Fonts/simsun.ttc', CHAR_SIZE)
lines = len(列表)# 计算行数

image = Image.new("L", (2000, 30*lines), "white")
draw_table = ImageDraw.Draw(im=image)
draw_table.text(xy=(0, 0), text=output_str, fill='#000000', font= d_font, spacing=4)# spacing调节机制不清楚如何计算

image.show()# 直接显示图片
image.save('1.png', 'PNG')# 保存在当前路径下,格式为PNG
image.close()

shubiao05 发表于 2021-3-24 10:16

这个执行报错如下:

pygame 2.0.1 (SDL 2.0.14, Python 3.7.3)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "E:\py_files\Web\Zhihu\zhihu_hot_pic.py", line 26, in <module>
    output_str="".join(加序号(列表))
File "E:\py_files\Web\Zhihu\zhihu_hot_pic.py", line 23, in 加序号
    dd="%s.%s" % (i + 1, line+"\n")
TypeError: can only concatenate list (not "str") to list

南归不NG 发表于 2021-3-24 08:50

exe文件
百度网盘链接:https://pan.baidu.com/s/1Ljnqr7Zxtp4Sno7VlqZUIQ提取码:jh3j
其余网盘暂未上传

79935539 发表于 2021-3-24 06:17

能编译成exe分享下吗

xpmg 发表于 2021-3-24 06:40

能搞出来就是大佬!

Thekingdom 发表于 2021-3-24 07:20

就是说可以按标题找文章?

WUAIZHONGGUO 发表于 2021-3-24 07:52

能编译成exe分享下吗

坐久落花多 发表于 2021-3-24 08:22

感觉其中最有价值的就是知乎的接口?
https://api.zhihu.com/topstory/hot-list?limit=10&reverse_order=0

南归不NG 发表于 2021-3-24 08:28

dd="%s.%s" % (i + 1, line+"\n")

东毒破罐子 发表于 2021-3-24 08:41

dd="%s.%s" % (i + 1, line+"\n")

thjwuliubu 发表于 2021-3-24 08:50

顶一下。。。。
页: [1] 2
查看完整版本: 知乎热榜生成图片