栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

妹子天天要换新头像?没问题,通过爬虫爬取精美头像

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

妹子天天要换新头像?没问题,通过爬虫爬取精美头像

需求分析

昨天和妹子聊天,她说她现在很苦恼,“仙草哥哥,我最近没有头像可以用了。”

我感到了非常不可思议,我说,“你不是天天都换头像吗?怎么会没有头像用了呢?”

她说,“仙草哥哥你是笨蛋吗?就是因为天天都要换新头像,好看的头像都用光了,所以才没有头像可以用了啊!”

我说,“那也不要紧啊,你把去年的历史头像每个再用一天,不就又可以够用一年了吗?”

妹子非常不开心,“哼,和你这种直男没什么可聊的。”,然后她就不理我了

怎么办,为了能让妹子开心起来,就做一个能够爬取头像的爬虫程序吧!

实现分析

虽然我之前在文章中还从没写过图片的爬取,但是实际上图片的爬取也很简单,和普通的爬虫程序没有很大的区别

最大的不同在于,一般在爬取一个页面的时候,都是通过r.text直接获取到解码后的文本内容。但是如果你要保存一个图片,就不需要对其解码了,只要把二进制的响应内容,原封不动的保存下来就可以了,使用r.content就可以满足了

其他的和普通的爬虫程序一样,也还是先发起请求,提取出图片地址,然后对图片发起请求,保存二进制的响应内容

不过这次在爬取的时候,也遇到了一点小的困难。直接使用r.text的解码是错误的,也就是说,我们的requests错误的判断了编码,这种时候怎么办呢?不要着急,我们可以先去查看一下浏览器是使用什么编码去解析的,如图所示

可以看到,上边写的编码为,charset=gb2312,这个大概就是实际的编码了,我们可以尝试一下

r = requests.get(url)

r.encoding = "gb2312"
print(r.text)

如此操作以后,文字的显示就正常了,说明网站的编码确实是gb2312,这样的一个问题就得到了解决,然后就可以正常提取出图片地址,然后请求保存了

img_url = "xxx"
r = requests.get(img_url)

with open("图片.png", "wb") as f:
    f.write(r.content)
完整代码展示
import requests
import time
from base64 import b64decode
from lxml import etree

headers = {"user-agent": "Mozilla/5.0"}
url = b64decode("aHR0cDovL3d3dy5pbWVpdG91LmNvbS9kb25nbWFuLw==").decode()

r = requests.get(url, headers=headers)
r.encoding = "gb2312"

html = etree.HTML(r.text)

urls = html.xpath("//ul[@class='g-gxlist-imgbox']//a/@href")
titles = html.xpath("//ul[@class='g-gxlist-imgbox']//a/@title")

for i in range(len(urls)):
	title = titles[i][0:6] + "头像"
	url = urls[i]
	r = requests.get(url, headers=headers)
	r.encoding = "gb2312"
	html = etree.HTML(r.text)
	img = html.xpath("//div[@class='img-list3']//img/@src")
	num = 1
	for u in img:
		r = requests.get(u, headers=headers)
		with open(title + str(num) + ".png", "wb") as f:
			f.write(r.content)
		print(title + "-" + str(num) + "已完成")
		num += 1
		time.sleep(1)
	time.sleep(1)

程序运行过程展示

程序运行结果展示

 

可以看到,在我们的程序运行结束以后,有很多的好看头像就都已经被保存下来了


虽然爬取头像的程序是给妹子做的,但是我自己看完以后也很心动,我也是挑选了一个我喜欢的新头像换上了,怎么样,好看吗?

现在我把程序分享给你,你也可以通过运行该程序来挑选你自己心仪的头像哦。喜欢请收藏加关注,每天带你用新的爬虫程序

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1004699.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号