huanye 发表于 2020-4-14 21:33

爬取“精美”的动漫壁纸

本帖最后由 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

huanye 发表于 2020-4-15 07:16

taozididi 发表于 2020-4-14 23:51
请问 我改为true 以后 好像基本上爬的都是动漫那个的   整站怎么改呀

改true相当于爬取全部动漫壁纸,不是整站的

huanye 发表于 2020-4-14 22:23

taozididi 发表于 2020-4-14 22:14
1000多张是站内全部了吗

不是哦,我只是爬取了动漫那一部分的,你想的话,可以修改一下代码就可以了

hill_king 发表于 2020-4-14 21:45

什么也没看到

uhxdDGjohs 发表于 2020-4-14 21:46

会不会爬崩

Seven1314pp 发表于 2020-4-14 21:47

亲,啥都没看到~~~~~~{:1_909:}

夹竹桃 发表于 2020-4-14 21:47

成果----什么也冒得

xz1997 发表于 2020-4-14 21:50

看了个寂寞。

初见悲风 发表于 2020-4-14 21:51

谢谢楼主

huanye 发表于 2020-4-14 21:51

hill_king 发表于 2020-4-14 21:45
什么也没看到

抱歉,刚才排版

huanye 发表于 2020-4-14 21:55

xz1997 发表于 2020-4-14 21:50
看了个寂寞。

抱歉,刚才排版

深爱我的女孩 发表于 2020-4-14 21:56

壁纸谢分享,已收下!
页: [1] 2 3
查看完整版本: 爬取“精美”的动漫壁纸