关于词云背景位置的引用

词云引用的背景图能不能指定某一个文件夹里随机的图片,并非定死的某一张?

import os
import random

from PIL import Image

current_dir = os.path.dirname(__file__)
imgs_dir = os.path.join(current_dir, 'imgs')
imgs = [os.path.join(imgs_dir, f) for f in os.listdir(imgs_dir)]

# 测试随机图片
"""
i = 0
while i < 10:
    random_img = random.sample(imgs, 1)
    print(random_img)
    i += 1
   
输出结果:
['/Users/fish/PycharmProjects/fishing/imgs/3.jpeg']
['/Users/fish/PycharmProjects/fishing/imgs/3.jpeg']
['/Users/fish/PycharmProjects/fishing/imgs/3.jpeg']
['/Users/fish/PycharmProjects/fishing/imgs/2.jpeg']
['/Users/fish/PycharmProjects/fishing/imgs/3.jpeg']
['/Users/fish/PycharmProjects/fishing/imgs/3.jpeg']
['/Users/fish/PycharmProjects/fishing/imgs/2.jpeg']
['/Users/fish/PycharmProjects/fishing/imgs/1.jpeg']
['/Users/fish/PycharmProjects/fishing/imgs/1.jpeg']
['/Users/fish/PycharmProjects/fishing/imgs/2.jpeg']    
"""

random_img = random.sample(imgs, 1)
# 将这个img传入给np,然后将np传入给词云即可实现,随机图片。
img = Image.open(random_img)

在你当前项目下新建一个目录imgs,将你想要随机的背景图片放在这个目录下。

img


这就是个简单随机,如果要真随机,代码会非常复杂。

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7730855
  • 这篇博客也不错, 你可以看下为什么要对数值类型的特征做归一化,树形算法为啥不需要归一化?
  • 除此之外, 这篇博客: 定时爬虫自动抓取过去一周的数据中的 如何设置自动抓取? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1.写一个sh脚本;(记得chmod +x xxx.sh)

     #!/usr/bin/sh
     python run.py >>run.log
    

    注意:python一定要用绝对路径下的python,run.py也要用绝对路径。 >>run.log 可以将log信息打印到log文件中,出错可以找到问题。

    run.py 可以是你写的一个单独python文件,如果你要用spider或者crawlspider 模块,run.py可以如下(以crawlspider为例):

    from scrapy import cmdline 
    cmdline.execute("scrapy crawl zhiwang".split())
    

    2.定时sh脚本(crontab -e)
    这个是linux自带的定时启动脚本的。具体用法如下:
    cd etc/crontab (当然你直接 vi crontab -e 也可以)

    具体是:minute(0-59) hour(0-23) day of month(1-31) month(1-12) day of week(0-6) sh脚本
    例如:周末十二点执行脚本 0 0 * * 6 run.sh

    注意:(1)同理run.sh绝对路径。
    (2).0代表星期天,*代表每一个,即就是每一分钟,每一小时,每一天,每一月. * * * * * 就表示每一分钟运行一次。
    (3)如果是在Linux服务器上,要注意服务器的时间和你电脑的时间可能不一致,在写代码做测试时,要注意,不然会是个大坑。

    最后,来一首本死肥宅的打油小诗:
    量子力学真神奇,
    我不学你又如何。
    人生苦短须自乐,
    快乐搬砖死肥宅。

  • 您还可以看一下 张传波老师的软件设计是怎样炼成的?课程中的 架构设计的第一层拆解小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以使用Python中的Pillow库来实现随机选取一个文件夹内的图片作为背景。首先,需要使用Python内置的os库来获取文件夹内所有的图片文件,并将其存储在一个列表中。然后,使用random库中的choice函数来随机选择一个文件名。最后,使用Pillow库中的Image库来打开并应用被选中的图片文件作为词云背景。具体代码如下:

    import os
    import random
    from PIL import Image
    from wordcloud import WordCloud
    
    # 获取所有图片文件名
    image_dir = 'path/to/folder'
    image_files = [f for f in os.listdir(image_dir) if f.endswith('.jpg') or f.endswith('.png')]
    
    # 随机选择一个文件作为背景
    background_file = random.choice(image_files)
    
    # 使用Pillow库打开并应用图片作为词云背景
    background_image = Image.open(os.path.join(image_dir, background_file))
    wordcloud = WordCloud(background_color='white', mask=background_image)
    

    这样,就可以实现词云随机选取一个文件夹内的图片作为背景了。需要注意的是,被选中的图片文件必须是jpg或png格式,且需要存储在指定的文件夹中(这个文件夹路径需要在代码中进行修改)。