1.Python实战:爬取小红书
2.Python Pillow 库 Image 模块 构建图像 、爬取爬虫 图像处理 与 Image对象方法
3.如何将众多拼接成一张完整的头像马赛克?(千图成像)
4.Python 7pass问题
5.python轻量级高自由度web框架 - NiceGUI (1)
Python实战:爬取小红书
本文提供一种方法,利用Python爬取小红书平台,源码针对特定关键词搜索相关笔记,爬取爬虫并将结果以excel表格形式保存。头像所爬取的源码签名PS源码字段包括笔记标题、作者、爬取爬虫笔记链接、头像作者主页地址、源码作者头像以及点赞量。爬取爬虫实验结果显示,头像每次运行爬虫都能顺利爬取数据,源码每次平均约条笔记。爬取爬虫遇到的头像技术难题在实验过程中得到解决,使得该爬虫具有较高的源码实用性。以下为使用不同关键词搜索的示例结果。
以关键词“繁花”为例,搜索后将数据保存至本地excel文件,打开查看发现笔记根据点赞量由高到低排列。
对于关键词“上海旅游”,搜索并保存至excel,打开查看发现同样按照点赞量排序的笔记列表。
使用关键词“春节”,搜索后保存至excel文件,点晴oa 源码同样按照点赞量排序展示笔记。
本方法采用纯模拟人操作的策略,避免触碰小红书的反爬机制,通过如下步骤实现爬取:打开小红书主页、登录账号、关键词搜索、提取页面数据、循环刷新页面、数据处理去重排序、保存至excel文件。此方法确保了数据的可靠性和爬取过程的顺利进行。
具体实现分为多个步骤,包括使用DrissionPage库打开小红书主页、登录账号、设置关键词、搜索结果处理、滑动页面获取数据、保存数据至excel文件等。此外,还包含细节优化,如自动调整excel表格列宽、处理数据类型转换、删除重复数据等。查看网页源码 chrom
为了帮助读者更好地理解代码逻辑,本文附带了爬取过程的视频录屏,以及主函数代码示例。最后,本文提供了一种以付费形式获取代码的方法,鼓励对数据有价值的需求进行付费支持。欢迎关注“程序员coding”公众号,获取更多有价值的内容与交流。
Python Pillow 库 Image 模块 构建图像 、 图像处理 与 Image对象方法
PIL.Image.new(mode, size, color=0) 构建新图像
创建红色 RGB 图像 示例: PIL.Image.fromarray(obj,mode=None) 将序列转换为图像 示例1:二维数组创建灰度图像 输出结果: 示例2:使用 fromarray 将图像灰度化 PIL.Image.frombytes(mode,size,data,decoder_name='raw',*args) 根据二进制数据创建图像 注意:data 数据格式为字符串,使用 StringIO 对其进行包装并用 open 函数载入它。 示例: PIL.Image.frombuffer(mode,size,data,decoder_name='raw',*args) 创建图像,与 frombytes 类似。不支持所有模式,支持的模式,“L”,“RGBX”,“RGBA”和“CMYK” 注意:整张字符串格式的,使用 StringIO 对其进行包装并用 open 函数载入它。 PIL.Image.alpha_composite(im1,im2) 降m2融合到m1上,都必须是 RGBA 模式。 示例: PIL.Image.blend(im1,im2,alpha) 根据 alpha 值融合 示例: PIL.Image.composite(image1,image2,mask) 使用透明遮罩混合头像,创建复合图像。jsp servlet 商城源码 示例: PIL.Image.eval(image,*args) 根据传入的函数对图像每个像素进行处理 示例: PIL.Image.merge(mode,bands) 将一组单通道图像合并成多通道图像 示例:将图像的通道值更换
PIL.Image.alpha_composite(im,dest=(0,0),source=(0,0)) 将 im 融合到Image, 同 Image.alpha_composite(Image,im)
转换模式,模式转换支持"L" 、 "RGB"和 "CMYK"。 有 matrix 参数只能转换为"L" 或 "RGB"。 当模式之间不能转换时,可以先转换 RGB 模式,然后在转换。 色彩模式转换为 L 模式计算公式 示例:官方示例 PIL.Image.copy() 复制图像 PIL.Image.crop(box) 从图像中获取 box 矩形区域的图像 PIL.Image.draft(mode,size) 配置图像加载器,快速得到保持原比例大小尽可能匹配的图像 注意:此方法会修改 Image 对象。如果图像已加载,则此方法无效。 PIL.Image.filter(filter) 使用给定的过滤器过滤此图像,参考 ImageFilter 模块过滤器 PIL.Image.getbands() 获取图像中每个波段名称的元组 PIL.Image.getbbox() 获取图像非0区域的box值 PIL.Image.getcolors(maxcolors=) 获取图像中颜色的使用列表,超过 maxcolors 设置值返回None。 返回值为(count, pixel)的列表。 PIL.Image.getdata(band=None) 获取图像中像素的序列对象,像素获取从左至右,从上至下 PIL.Image.getextrema() 获取图像中每个通道的最小值与最大值 返回包含每个通道最小与最大值元组的列表 PIL.Image.getpalette() 获取图像的调色板,如果没有则为颜色值列表 [r,g,b,...] 或 None。 PIL.Image.getpixel(xy) 获取给定位置的顺便游webapp 源码像素值 PIL.Image.histogram(mask=None,extrema=None) 获取以 mack 为蒙版的直方图 PIL.Image.paste(im,box=None,mask=None) 粘贴 PIL.Image.point(lut,mode=None) 对图像的每个像素进行处理 PIL.Image.putalpha(alpha) 对图像添加 alpha 层,即将给定通道拷贝到图像 alpha 层 PIL.Image.putdata(data,scale=1.0,offset=0.0) 将data序列像素数据复制到图像 PIL.Image.putpalette(data,rawmode='RGB') 图像附加调色板 PIL.Image.putpixel(xy,value) 修改单个元素的值 PIL.Image.resize(size,resample=0,box=None) 获取调整大小后的 PIL.Image.remap_palette(dest_map,source_palette=None) 重新调色 PIL.Image.rotate(angle,resample=0,expand=0,center=None,translate=None,fillcolor=None) 逆时针选择图像 PIL.Image.save(fp,format=None,**params) 保存,无指定格式,格式根据扩展名确定。无扩展名必须指定格式。 PIL.Image.seek(frame) 访问动态 PIL.Image.tell() 返回动态图像,当前的帧的索引号 PIL.Image.show(title=None,command=None) 显示,主要用于调试 PIL.Image.split() 拆分图像通道,如RGB拆分为(red, green, blue) 三个单个通道图像的元组 PIL.Image.getchannel(channel) 获取 channel 通道,返回的是个 L 模式图像 参数:channel– 通道, 如:RGBA如下通道为 ('R','G','B','A'),需获取A通道 channel参数值可以为 A 或者 通道索引号 3。 PIL.Image.thumbnail(size,resample=3) 将转换为缩略图 PIL.Image.tobitmap(name='image') 返回转换的X位图的图像,只能用于模式1图像 PIL.Image.tobytes(encoder_name='raw',*args) 将图像转换为字节对象返回 PIL.Image.transform(size,method,data=None,resample=0,fill=1,fillcolor=None) 变形 PIL.Image.EXTENT(剪切出矩形) data 参数指定裁剪区域(左,上,右,下); PIL.Image.AFFINE(仿射变换) data 参数(a, b, c, d, e, f),输出图像中的(x,y)值取自(a x + b y + c, d x + e y + f),用于缩放,平移,旋转和剪切原始图像。 PIL.Image.PERSPECTIVE(透视变换) PIL.Image.QUAD(4元图像变换) data 参数(x0, y0, x1, y1, x2, y2, x3, y3) 对应四角 左上,左下,右下和右上 PIL.Image.MESH(网格图像变换)data 参数 (bbox, quad) PIL.Image.transpose(method) 旋转图像,以度为单位翻转和旋转 参数: PIL.Image.FLIP_LEFT_RIGHT, 向左翻转。 PIL.Image.FLIP_TOP_BOTTOM, 顶部向下翻转。 PIL.Image.ROTATE_, 度旋转。 PIL.Image.ROTATE_, 度旋转。 PIL.Image.ROTATE_, 度旋转。 PIL.Image.TRANSPOSE,颠倒,先左右翻转,然后旋转度。 PIL.Image.TRANSVERSE. 先左右翻转,然后顺时针旋转度。 PIL.Image.verify() 验证文件内容。确认文件是否损坏。 PIL.Image.load() 为图像分配存储并加载像素数据 PIL.Image.close() 关闭文件指针,如果可能。仅用于关闭未通过 load() 方法读取和关闭文件的图像。
PIL.Image.filename 文件名或路径 PIL.Image.format 文件格式,JPGE,PNG等 PIL.Image.mode 图像模式,RGB,RGBA,CMYK,1,L,P等 PIL.Image.size 图像大小,(width, height)。 PIL.Image.width 宽度 PIL.Image.height 高度 PIL.Image.palette 调色板 PIL.Image.info 保存与图像相关的数据的字典
如何将众多拼接成一张完整的马赛克?(千图成像)
前言
在这个圣诞的季节,我们可以通过粉丝的头像拼接出一幅独一无二的圣诞树。
一、圣诞树
我们的目标是创建一幅像素为x的圣诞树,利用粉丝的头像进行拼接。
二、代码分析
1.头像爬取
通过爬虫技术,我们将粉丝的头像下载至本地,为拼接工作打下基础。
2.千图成像
千图成像是将多张拼接成一张完整的过程,涉及背景图与库的使用。
三、拼接步骤
1.计算平均颜色
遍历库中的每张,计算其平均颜色(R,G,B)。
2.比较背景图像素点与平均颜色的相似性
采用欧式距离法,对背景图的每个像素点进行比较,找到最相似的进行拼接。
3.拼接背景图与库中的
遍历背景图的每个像素点,将与之最相似的进行粘贴,形成最终的圣诞树。
四、代码实现
利用Python编写代码,具体包括爬取、平均颜色计算、相似性比较与拼接等步骤。
五、结果展示
通过执行代码,我们得到一幅融合粉丝头像的圣诞树,充满节日氛围。
六、优化与思考
代码执行效率有待提高,可以探索更高效的处理方法,如向量编码。
七、结语
圣诞快乐!愿我们通过这幅圣诞树,感受彼此之间的温暖与连接。
Python 7pass问题
这样:N=int(input("请输入一个整数N(N < ):"))i=0
n=0
while n<N:
i+=1
if i%7==0 or i%==7:
n+=1
print(i)
else:
pass
输出结果:
python轻量级高自由度web框架 - NiceGUI (1)
NiceGUI是一个灵活易用的Python轻量级Web框架,它结合了FastAPI的强大功能,并封装了Quasar、Vue、Tailwind CSS等组件,为开发者提供了数据交互、布局、样式定制等多种便利。其内置组件丰富,如头像、按钮、对话框等,支持数据联动和滚动刷新,自定义样式也非常直观。尽管官网设计可能略显朴素,但框架的实际表现却非常出色,适用于快速开发web或桌面程序。系列文章详细介绍了框架的各个方面,包括安装、内置组件、自定义样式以及组件联动。
NiceGUI作为Python轻量级Web框架,其主要特点在于灵活性和易用性,尤其适合新手快速上手。框架内置了诸如卡片、按钮徽章等丰富组件,支持多种样式定制,包括使用CSS、Tailwind CSS和AG Grid。它的开发者受到Streamlit和JustPy的启发,旨在提供易用且功能强大的体验,类似Flet那样高效便捷。
入门时,开发者可以快速运行示例代码,在端口启动一个Hello World网页。框架内还包含了个性化的组件,如头像、对话框和流程图等,方便实现复杂交互。
自定义样式方面,NiceGUI允许直接使用CSS或通过props进行修改,甚至整个页面样式都能调整。组件间可以实现联动,如radio的选择会联动其他组件,滚动框也支持联动效果。
尽管官网设计可能不如其他框架吸引人,但NiceGUI凭借其实用性和强大功能,不失为一个理想的开发选择。系列文章涵盖了从基础到进阶的各个方面,帮助开发者深入理解并利用NiceGUI构建Web应用。