def main(*args): with open('config/config.json', 'r', encoding='utf-8') as fp: configData = json.loads(re.sub(r'\/\*[\s\S]*?\/', '', fp.read())) now_time = int(time.time()) endtime = now_time - now_time % 86400 + time.timezone #今天0点 starttime = endtime - 86400 #昨天0点 list = listLott(configData["users"][0]["cookieDatas"], endtime, starttime) #返回自己动态里从starttime到endtime的所有抽奖信息 article = Article(configData["users"][0]["cookieDatas"], "互动抽奖系列--每日一抽") #创建B站专栏,并设置标题 content = buildContent(article, list) #创建文章内容 article.setContent(content) #将文章内容保存至专栏 article.setImage( "//i0.hdslb.com/bfs/article/d74e83cf96a9028eb3e280d5f877dce53760a7e2.jpg", "//i0.hdslb.com/bfs/article/05dd9f784a5426b59a85ba33cf0c9a13cab521be.jpg" ) #设置缩略图,本地图片请用article.articleUpcover()方法转换为链接 #article.articleUpcover()方法可以上传图片,甚至可以把B站当成一个图床 article.setOriginal(1) #将专栏设置为原创 article.save() #保存专栏至B站草稿箱
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"]
import requests, re from BiliClient import Article try: from json5 import load except: from json import load with open('config/config.json','r',encoding='utf-8') as fp: configData = load(fp) num = 18 #只爬取18张图,可以调大,如果中间网络异常会丢失几张图,最终数量可能达不到 PHPSESSID = '52458730_wl3M43DP4ulPM1iDt1WVqFMJNksegvG1' #必填,登录后获得的cookie #创建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站图片 session = requests.session() session.trust_env = True session.proxies = {'http': '127.0.0.1:10809','https': '127.0.0.1:10809'} session.headers.update({ "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": f'PHPSESSID={PHPSESSID}' #这里需要已登录的有效的PHPSESSID }) picList = session.get("https://www.pixiv.net/ajax/top/illust?mode=all&lang=zh").json()["body"]["thumbnails"]["illust"]
# -*- coding: utf-8 -*- import requests, json, re, time, os from BiliClient import Article #获取secrets里的cookie cookies = { "SESSDATA": os.environ.get('SESSDATA', None), "bili_jct": os.environ.get('BILI_JCT', None) } num = 8 #只爬取8张图(防止图片不合规需要修正才能过审), 可以调大, 如果中间网络异常会丢失几张图, 最终数量可能达不到(至少3张图片才可以发布) #创建B站专栏 article = Article(cookies, "4k壁纸") #创建B站专栏草稿,并设置标题 content = article.Content() #创建content类编写文章正文 content.startP().add('所有图片均转载于').startB().add('网络').endB().add( ',如有侵权请联系我,我会立即').startB().add('删除').endB().endP().br() #开始一段正文 添加正文 开始加粗 加粗文字 结束加粗 结束一段文字 换行 session = requests.session() session.trust_env = True session.headers.update({ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4280.88 Safari/537.36" }) #写文章 for i in range(num): try: title = f'图片{i}' #关闭ssl校验