python如何随机显示动漫背景
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何随机显示动漫背景相关的知识,希望对你有一定的参考价值。
1 可以使用Python的Pillow库来进行图片的处理和显示2 首先需要将需要随机显示的动漫背景图片放在一个文件夹内,然后使用os库来读取文件夹中的所有图片
3 然后利用random库生成一个随机数,从而随机选取一张图片
4 最后利用Pillow库中的Image和ImageTk模块来显示图片,并将其作为背景图片进行展示
5 如果需要每隔一段时间自动更换背景图片,还可以利用Tkinter库中的after函数来实现。 参考技术A Python可以通过使用随机数模块(random)来随机显示一个动漫背景图。首先,你需要把所有动漫背景图放在一个文件夹中,然后使用random模块生成一个随机数,利用这个随机数将文件夹中的所有图片以索引形式依次编号,最后使用随机数来访问文件夹中的图片,从而实现动漫背景的随机显示。 参考技术B 使用Python中的random模块可以实现随机显示动漫背景50字的功能,首先需要定义一个列表来存储动漫背景50字,然后使用random.choice函数从列表中选择一个随机的背景50字,最后使用print函数将其输出到屏幕上显示出来即可。
腾讯动漫爬虫与动态随机加载反爬
在学习了selenium后,就想试试爬一爬动漫,在微信社区里又看到一个腾讯动漫爬虫与动态随机加载反爬破解实战的文章,就试着跑了一下,还可以。用到了PhantomJS自动触发漫画图片以及js(window.scrollTo()实现页面滑动,自动触发触剩下的多张漫画图片),最后用urllib提取并保存本地。
话不多说,上代码,重点已做注释:
#--*-- coding:utf-8 --*-- from selenium import webdriver import time from selenium.webdriver.common.desired_capabilities import DesiredCapabilities import re import urllib.request import warnings warnings.filterwarnings("ignore") #基于PhantomJS创建一个浏览器,并且设置一下用户代理,否则可能出现界面不兼容的情况 dcap=dict(DesiredCapabilities.PHANTOMJS) dcap["phantomjs.page.settings.userAgent"]=("Mozilla/5.0(Windows NT 6.1;Win64;x64)") browser=webdriver.PhantomJS(desired_capabilities=dcap) #通过PhantomJS打开相关动漫网页,将相关动漫图片地址触发出来 #打开动漫的第一页 browser.get('http://ac.qq.com/ComicView/index/id/539443/cid/1') for i in range(10): js='window.scrollTo('+str(i*1280)+','+str((i+1)*1280)+')' #把内容滚动到指定的坐标 browser.execute_script(js) time.sleep(1) #将打开的界面截图保存,方便观察 a=browser.get_screenshot_as_file(r'C:\\Users\\yyduan\\Desktop\\test.jpg') #获取当前页面所有源码(此时包含出发出来的异步加载的资源) data=browser.page_source #将相关网页源码写入本地文件中,方便分析 fh=open(r'C:\\Users\\yyduan\\Desktop\\dongman.html','w',encoding='utf-8') fh.write(data) fh.close() browser.quit() #构造正则表达式提取动漫图片资源网址 pat='<img src="(http://ac.tc.qq.com.store_file_download.buid=.*?name=.*?).jpg"' #获取所有动漫图片资源网站 allid=re.compile(pat).findall(data) for i in range(0,len(allid)): #得到当前网址 thisurl=allid[i] #去除网址中的多余元素amp #thisurl2=thisurl.replace("amp;","")+".jpg" #输出当前爬取的网址 print(thisurl2) #设置将动漫存储到本地目录 localpath='C:/Users/yyduan/Desktop/dongman/'+str(i)+'.jpg' #通过urllib对动漫图片资源进行爬取 urllib.request.urlretrieve(thisurl2,filename=localpath)
以上是关于python如何随机显示动漫背景的主要内容,如果未能解决你的问题,请参考以下文章
用 Python 制作可视化 GUI 界面,一键实现将头像转成动漫风!