def buildContent(article, list): "编写专题文章正文" content = Article.Content() #创建content类写文章正文 content.br()\ .picUrl("//i0.hdslb.com/bfs/article/d74e83cf96a9028eb3e280d5f877dce53760a7e2.jpg", width="640", height="400") #插入图片 i = 0 dengji = ("一等奖为:", "二等奖为:", "三等奖为:") for x in list: i += 1 content.startP().add(f'{i}.抽奖发起者:{x["name"]}').endP()\ .startP().add(f'发起时间:{time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(x["stime"]))}').endP()\ .startP().add(f'开奖时间:{time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(x["etime"]))}').endP()\ .startP().add('抽奖链接:').startA(f'https://t.bilibili.com/{x["dyid"]}').add('抽奖').endA().endP() ii = 0 for y in x["lott"]: content.startP().add(dengji[ii]).startB().add(y[0]).endB().\ add(',人数为').startB().add(y[1]).endB().endP() if len(y) == 3: content.picUrl(y[2], y[0], "30%", "30%") #如果抽奖有图片就插入图片,长宽为30% ii += 1 return content
# -*- coding: utf-8 -*- import requests, json, re from BiliClient import Article with open('config/config.json', 'r', encoding='utf-8') as fp: configData = json.loads(re.sub(r'\/\*[\s\S]*?\/', '', fp.read())) num = 18 #只爬取18张图,可以调大,如果中间网络异常会丢失几张图,最终数量可能达不到 #创建B站专栏 article = Article(configData["users"][0]["cookieDatas"], "每日美图") #创建B站专栏草稿,并设置标题 content = Article.Content() #创建content类编写文章正文 content.startP().add('所有图片均转载于').startB().add('网络').endB().add( ',如有侵权请联系我,我会立即').startB().add('删除').endB().endP().br() #开始一段正文 添加正文 开始加粗 加粗文字 结束加粗 结束一段文字 换行 #下面开始爬取P站图片 datas = [] headers = { "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36", "Referer": "https://www.pixiv.net/", "Accept-Encoding": "gzip, deflate, br", "Cookie": "PHPSESSID=52458727_XCU5bBe4NFv5C79C3TYwJLnRjZxfRslb" } session = requests.session() list = session.get("https://www.pixiv.net/ajax/top/illust?mode=all&lang=zh", headers=headers).json()["body"]["thumbnails"]["illust"] for i in range(num): id = list[i]["id"]