爬取“精美”的动漫壁纸
本帖最后由 huanye 于 2020-4-14 21:55 编辑介绍
https://static.52pojie.cn/static/image/hrline/1.gif
爬取的是网址:www.win4000.com
需要的库:BeautifulSoup time requests re
工具 :visual studio code
大佬们勿喷(新手上路)
说明
https://static.52pojie.cn/static/image/hrline/1.gif
需要修改第8行
修改为True就是爬取全部
修改为False就是爬取指定数量(第9行可以修改)
还要修改第第10行保存路径 注意:在文件夹后需要有/的
成果
https://static.52pojie.cn/static/image/hrline/1.gif
代码
https://static.52pojie.cn/static/image/hrline/1.gif
import requests,re,time
frombs4 importBeautifulSoup
'''
作者是帅气逼人的钢铁直男
'''
s=time.clock()
pp=1#图片数量
all=False #如果需要全部爬取就改为True 需要爬取指定数量就改为False
end=30 #需要图片多少张
path='C:\\Users\\win10\\Desktop\\python\\爬取桌面壁纸图\\壁纸\\'#修改图片保存路径
def danz(id):#定义单页爬取函数
page=1
while True:#无限循环
global pp#在函数内修改外部变量需要声明
html = requests.get("http://www.win4000.com/wallpaper_detail_%s_%s.html"%(id,page))#获取单章网址内容
if html.status_code==404:#如果是404证明爬取完了
break#退出循环
jpg = BeautifulSoup(html.text,'lxml')#解析
jpg1=jpg.find('img',class_='pic-large')['src']#调用
jpg = requests.get(jpg1).content#访问jpg链接,因为是二进制,所以需要.content
with open("%s%s.jpg"%(path,pp),'wb') as f:#保存jpg
f.write(jpg)
print("第%s张图片下载完成"%pp)
if int(pp)==end and all==False:#爬取到指定页数并且不是爬取所有就结束脚本
e=time.clock()#获取时间
exit("完成耗时%s秒"%(e-s))
page=page+1#自增
pp=pp+1#自增
def m(url):
html=requests.get(url)#获取网页内容
a=re.findall(r'http://www.win4000.com/wallpaper_detail_(.+?).html',html.text)#获取单章id
for aa in a:#阅遍字典
danz(aa)#使用单章jpg保存函数
page=1#这个和函数是不一样的 函数内变量不影响外部变量除非global
for i in range(5):#循环五次 因为他只有五页列表
m("http://www.win4000.com/zt/dongman_%s.html"%page)#使用函数
page=page+1#自增
#如果是全部图片保存就打印
e=time.clock()#计算时间
print("完成耗时%s秒"%(e-s))
最后
https://static.52pojie.cn/static/image/hrline/1.gif
给点免费评分如何?
爬取了一千多张图片,已经保存到网盘了,总共1.2G
链接:https://pan.baidu.com/s/1-3ApF7A4FQe2U2bTVe5hDA
提取码:nqm2
taozididi 发表于 2020-4-14 23:51
请问 我改为true 以后 好像基本上爬的都是动漫那个的 整站怎么改呀
改true相当于爬取全部动漫壁纸,不是整站的 taozididi 发表于 2020-4-14 22:14
1000多张是站内全部了吗
不是哦,我只是爬取了动漫那一部分的,你想的话,可以修改一下代码就可以了 什么也没看到 会不会爬崩 亲,啥都没看到~~~~~~{:1_909:} 成果----什么也冒得 看了个寂寞。 谢谢楼主 hill_king 发表于 2020-4-14 21:45
什么也没看到
抱歉,刚才排版 xz1997 发表于 2020-4-14 21:50
看了个寂寞。
抱歉,刚才排版 壁纸谢分享,已收下!