【爬虫 3】送给所有粉丝的新年礼物--粉丝画像

2023-12-22 18:50

本文主要是介绍【爬虫 3】送给所有粉丝的新年礼物--粉丝画像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

人生总是会有迷茫,会有不知所错,会有一种不可言说的心情。那是一种非常奇妙的感觉,但是那会非常的不舒服。这一年来,我在不断思考着我能做什么,我可以做什么,我如果没有工作了会怎么样。我还剩下什么?

今年,我的粉丝第一次突破5000,我很高兴,工作之后的乐趣,就是写写文章,写写代码。让更多的人能了解到编程的乐趣,也是一件不错的事情。

我更新的频率没有那么准时,也没有很频繁。同时,这也使我对自己产生怀疑。我的写作是否有意义,我是否能帮助到大家。我的方向是什么?

然后就在这种不断的自我内耗中,感觉整个人越来越坏。

一次翻看短视频的机会,我被点醒了,那句话让 我印象深刻:成功,不成功,失败,不失败,你总是患得患失,太在意昨天,又太担心将来,昨天已经成为历史,将来是一个谜团,今天,是上天赐给我们的礼物,像珍惜礼物哪样珍惜今天。

是呀,这么简单的一个道理,只有亲身经历,才知道,我们连一些简单的道理都还在处于不断循环中,不如珍惜当下,过好每一天,去面对那么多可爱的人,可爱的事,为生活增添一点乐趣。

今天,我送给粉丝朋友们一副画,这副画是由所有粉丝的头像构成的。感谢大家的关注,是你们让我有了创作的热情,未来,我们也会一起。

第一步:获取粉丝列表头像 

import requests
import osdef get_fs_img(page,id):"""获取图片链接,名称"""headers = {'Accept':'application/json, text/plain, */*','Accept-Encoding':'gzip, deflate, br','Accept-Language':'zh-CN,zh;q=0.9','Connection':'keep-alive','Host':'blog.csdn.net','Origin':'https://djyqxbc-python.blog.csdn.net','Referer':'https://djyqxbc-python.blog.csdn.net/?type=sub&subType=fans','sec-ch-ua':'" Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"','sec-ch-ua-mobile':'?0','sec-ch-ua-platform':'"Windows"','Sec-Fetch-Dest':'empty','Sec-Fetch-Mode':'cors','Sec-Fetch-Site':'same-site','User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'}reponses=requests.get("https://blog.csdn.net/community/home-api/v2/get-fans-list?page="+str(page)+"&pageSize=500&id="+str(id)+"&noMore=false&blogUsername=qq_39046854",headers=headers)fs_list=reponses.json()["data"]["list"]for n,i in enumerate(fs_list):with open("photos\\"+i["username"]+".jpg","wb") as f:he={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'}img=requests.get(url=i["userAvatar"],headers=he).contentf.write(img)if n==499:print(i["id"],page+1)page+=1get_fs_img(page,i["id"])

 

 

第二步:清除默认头像数据

数据中有一部分采用默认图像,因此需要去除默认图

 

def clear_default_img():"""过滤默认头像"""for root, dirs, files in os.walk("photos"):for i in files:img_path="photos\\"+if=open(img_path,"rb")b = f.read()for file in ["1.jpg","2.jpg","3.jpg","4.jpg"]:#比对默认图片,进行删除m = open(file, "rb")a=m.read()if a==b:f.close()os.remove(img_path)

第三步:生成粉丝图像

from PIL import Image
import numpy
import os
import random
import numexpr# line_num: 一行放多少张照片
# # col_num: 一列放多少张照片
# # fans_w: 照片宽为多少
# # fans_h: 照片高为多少line_num =100#一行放多少张照片
col_num = 100#一列放多少张照片
fans_w = 20#照片宽为多少
fans_h = 20#照片高为多少def uniform_size(file_path, width, height):"""将照片统一大小"""img = Image.open(file_path)if img.mode != "RGBA":img = img.convert("RGBA")uniform_img = img.resize((width, height))return numpy.array(uniform_img)[:height, :width]#创建一个数组。def create_img():"""创造图片,并保存"""list_img=[]path ="photos/"for i in os.listdir(path):list_img.append(path + i)wight = line_num * fans_wheight = col_num * fans_hexpr= numpy.array(uniform_size("icon.jpg", wight, height))#创建一个矩阵,二维数组。expr = numexpr.evaluate("expr*0.3")#加快运算速度for i in range(line_num):for j in range(col_num):ex = expr[(j * fans_h):((j + 1) * fans_h), (i * fans_w):((i + 1) * fans_w)]un = uniform_size(random.choice(list_img), fans_w, fans_h)#随机获得一张图片,并控制大小res = numexpr.evaluate("ex+un*0.7")#加快运算速度expr[(j * fans_h):((j + 1) * fans_h), (i * fans_w):((i + 1) * fans_w)] = resImage.fromarray(expr.astype(numpy.uint8)).save("fans_logo.png")if __name__ == "__main__":create_img()

这篇关于【爬虫 3】送给所有粉丝的新年礼物--粉丝画像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/525070

相关文章

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

Golang 网络爬虫框架gocolly/colly(五)

gcocolly+goquery可以非常好地抓取HTML页面中的数据,但碰到页面是由Javascript动态生成时,用goquery就显得捉襟见肘了。解决方法有很多种: 一,最笨拙但有效的方法是字符串处理,go语言string底层对应字节数组,复制任何长度的字符串的开销都很低廉,搜索性能比较高; 二,利用正则表达式,要提取的数据往往有明显的特征,所以正则表达式写起来比较简单,不必非常严谨; 三,使

Golang网络爬虫框架gocolly/colly(四)

爬虫靠演技,表演得越像浏览器,抓取数据越容易,这是我多年爬虫经验的感悟。回顾下个人的爬虫经历,共分三个阶段:第一阶段,09年左右开始接触爬虫,那时由于项目需要,要访问各大国际社交网站,Facebook,myspace,filcker,youtube等等,国际上叫得上名字的社交网站都爬过,大部分网站提供restful api,有些功能没有api,就只能用http抓包工具分析协议,自己爬;国内的优酷、

Golang网络爬虫框架gocolly/colly(三)

熟悉了《Golang 网络爬虫框架gocolly/colly 一》和《Golang 网络爬虫框架gocolly/colly 二》之后就可以在网络上爬取大部分数据了。本文接下来将爬取中证指数有限公司提供的行业市盈率。(http://www.csindex.com.cn/zh-CN/downloads/industry-price-earnings-ratio) 定义数据结构体: type Zhj

014.Python爬虫系列_解析练习

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈 优

Collection的所有的方法演示

import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class TestCollection {/*** @param args* Collection的所有的方法演示* 此程序没有使用泛型,所以可以添加任意类型* 以后如果写到泛型会补充这一方面的内容*/public s

Temu官方宣导务必将所有的点位材料进行检测-RSL资质检测

关于饰品类产品合规问题宣导: 产品法规RSL要求 RSL测试是根据REACH法规及附录17的要求进行测试。REACH法规是欧洲一项重要的法规,其中包含许多对化学物质进行限制的规定和高度关注物质。 为了确保珠宝首饰的安全性,欧盟REACH法规规定,珠宝首饰上架各大电商平台前必须进行RSLReport(欧盟禁限用化学物质检测报告)资质认证,以确保产品不含对人体有害的化学物质。 RSL-铅,

urllib与requests爬虫简介

urllib与requests爬虫简介 – 潘登同学的爬虫笔记 文章目录 urllib与requests爬虫简介 -- 潘登同学的爬虫笔记第一个爬虫程序 urllib的基本使用Request对象的使用urllib发送get请求实战-喜马拉雅网站 urllib发送post请求 动态页面获取数据请求 SSL证书验证伪装自己的爬虫-请求头 urllib的底层原理伪装自己的爬虫-设置代理爬虫coo

获取所有classpath指定包下类的所有子类

1.问题 开发过程中,有时需要找到所有classpath下,特定包下某个类的所有子类,如何做到? 2. 实现 比较常见的解决方案是自己遍历目录,查找所有.class文件。 下面这个方法使用spring工具类实现,简化过程,不再需要自己遍历目录 /*** 获取在指定包下某个class的所有非抽象子类** @param parentClass 父类* @param packagePat