前提
- 微信公众号发布草稿中使用的图片,需要调用接口上传图片后返回的media_id。
- 草稿就是html页面
- 可以直接调用发布文章接口,但是api不全,无法使用群发功能。
- 对主要是各种限制+api不全,所以采用,自动发布草稿内容,使用app手动操作群发。
题外话
之前使用的云服务器,因为科学原因被封了,导致写的模块化脚本都失效了,缓存使用的redis,源码失去了,无备份,也不想重新连redis了。搜了搜使用的pickle,本地文件存储。可以的很顶,把不需要的逻辑去了去,合成了一个py文件。
步骤
缓存部分
# 保存缓存内容到文件
def save_cache(data, filename="cache.pkl"):
with open(filename, "wb") as f:
pickle.dump(data, f)
# 从文件加载缓存内容
def load_cache(filename="cache.pkl"):
try:
with open(filename, "rb") as f:
return pickle.load(f)
except FileNotFoundError:
return []
获取网页内容
填充html内容,也就是草稿的内容
def get_one_page(url):
headers = {
'Content-Type': 'application/json; charset=utf-8',
"Referer": url
}
response = requests.get(url, headers=headers)
# 这里保证输出是中文不乱码
response.encoding = response.apparent_encoding
print("response:",response)
if response.status_code == 200:
return response.text
return None
# 获取内容,组装html
def get_content(type):
url = " "
responses = get_one_page(url)
if None == responses:
print("is none")
selector = parsel.Selector(responses