吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5011|回复: 21
收起左侧

[Python 转载] [二次修改]爬取各种类型的壁纸:美女动漫等等-图片已经打包上传

  [复制链接]
huanye 发表于 2020-4-15 10:52
本帖最后由 huanye 于 2020-4-15 11:01 编辑

介绍

当初桌面壁纸不好看,于是就去网上找。但是吧,一张一张下载太麻烦。
我又比较喜欢动漫图,所以只写了爬取动漫的。

我在上一个帖子写了爬取动漫壁纸的,然后有人说能不能爬取全站,我想全站太大了
就改良一下,写了可选择爬取类型壁纸的脚本(如:美女,动漫,清新美女等)
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1156470&extra=page%3D1%26filter%3Dtypeid%26typeid%3D29

大佬勿喷(新手上路)
用单线程爬取有点慢(一种类型10分钟)
说明

现在只需要修改第12行的保存路径即可
运行后再选择类型 爬取数量
展示

{66CP_}SR85QX$G9TZULW~N.jpg
`MSTVE@01G@{7O1%E_EO.jpg
[@HXI@]GQ@T(IM(1C@KDBBB.jpg
代码

[Python] 纯文本查看 复制代码
import requests,re,time
from  bs4 import  BeautifulSoup
'''
作者是帅气逼人的钢铁直男
爬取的是网址:www.win4000.com
需要的库:BeautifulSoup time requests re
工具    :visual studio code
'''
s=time.clock()
pp=1#图片数量
end=1
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=='n':#爬取到指定页数并且不是爬取所有就结束脚本
            e=time.clock()#获取时间
            exit("完成耗时%s秒"%(e-s))
        page=page+1#自增
        pp=pp+1#自增
def m(url):
    html=requests.get(url)#获取网页内容
    if html.status_code==404:
        ukjias=1
    else:
        a=re.findall(r'http://www.win4000.com/wallpaper_detail_(.+?).html',html.text)#获取单章id
        for aa in a:#阅遍字典
            danz(aa)#使用单章jpg保存函数
def mian(lx):
    page=1#这个和函数是不一样的 函数内变量不影响外部变量除非global
    for i in range(5):#循环五次 因为他只有五页列表
        m("http://www.win4000.com/zt/%s_%s.html"%(lx,page))#使用函数
        page=page+1#自增
url='http://www.win4000.com/zt/index.html'#标签网页
html=requests.get(url)#获取网页内容
a=BeautifulSoup(html.text,'lxml')#解析
a1=a.find('div',class_="main")#获取div内标签
a2=a1.find_all('li')#获取所有li标签内容
pl=0#序列号
l=[True]*60#字典
print('#'*40+'爬取类型'+'#'*40)
for a3 in a2:#阅历标签内容
    url=re.search(r'(.*)/(.+?)\.',a3.find('a')['href'])[2].replace('_1','')#获取id
    title=re.sub('<(.+?)>','',str(a3.p))#标题
    l[pl]=url#把url写入字典以便调用
    print("序列号%s:%s"%(pl,title))
    pl=pl+1#自增序列号
print('#'*40+'爬取类型'+'#'*40)
xzlx=input('输入需要爬取类型的序列号:')#获取序列号
all=input('是否需要爬取全部图片(y/n):') #如果需要全部爬取就y 需要爬取指定数量就n
if all=='n':#如果等于n就爬取指定数量
    end=int(input("输入需要爬取数量:")) #需要图片多少张
print('#'*40+'开始爬取'+'#'*40)
mian(l[int(xzlx)])#调用函数
#如果是全部图片保存就打印
e=time.clock()#计算时间
print("完成耗时%s秒"%(e-s))

最后

求求你们了,给点免费评分吧
美女壁纸百度网盘(0.85G):链接:https://pan.baidu.com/s/1sQueS7O9d7B6CTEJm_JWXg 提取码:8p69
动漫壁纸百度网盘(1.2G):链接:https://pan.baidu.com/s/14XXxieo3MdpMigi09IxfvA 提取码:d0pj

免费评分

参与人数 25吾爱币 +26 热心值 +22 收起 理由
my梦想 + 1 + 1 谢谢@Thanks!
zhuolailei + 1 + 1 我很赞同!
kirakakash + 1 + 1 谢谢@Thanks!
jz1644 + 1 感谢大神分享
nihaoa2533219 + 1 + 1 热心回复!
Lumi_Liz + 1 + 1 谢谢@Thanks!
w5842689 + 1 + 1 我很赞同!
ksgt00010001 + 1 + 1 谢谢@Thanks!
Kyriemly + 1 + 1 鼓励转贴优秀软件安全工具和文档!
蒋璀璨先生 + 1 谢谢@Thanks!
valshen + 1 + 1 谢谢@Thanks!
Ilovecrack1111 + 1 谢谢@Thanks!
Ldw + 1 + 1 我很赞同!
骚碟。 + 1 + 1 热心回复!
昨日书 + 1 + 1 谢谢楼主分享
初心701 + 1 + 1 谢谢@Thanks!
jayce_jackson + 1 + 1 正在学习爬虫,受教了!
白晓生 + 1 + 1 谢谢@Thanks!
chensweet + 1 + 1 我很赞同!
mmcc1984 + 1 + 1 热心回复!
tony2526 + 1 + 1 我很赞同!
s1732 + 1 + 1 谢谢@Thanks!
cdj68765 + 2 + 1 谢谢@Thanks!
hullua + 1 + 1 我很赞同!
taozididi + 1 + 1 支持一下原创

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

mmcc1984 发表于 2020-4-15 11:35
小白想问下  这个怎么解决  论坛看到很多大佬发的爬虫  我是把代码复制到Pycharm里面运行  可是总是缺对应模块  应该怎么操作呢  

line 3, in <module>
    from  bs4 import  BeautifulSoup
ModuleNotFoundError: No module named 'bs4'
 楼主| huanye 发表于 2020-4-15 12:20
mmcc1984 发表于 2020-4-15 11:35
小白想问下  这个怎么解决  论坛看到很多大佬发的爬虫  我是把代码复制到Pycharm里面运行  可是总是缺对应 ...

没有安装bs4库,去cmd那里执行pip install bs4代码
小冷ice 发表于 2020-4-15 11:04
wujintai 发表于 2020-4-15 11:11
看花眼了!!
taozididi 发表于 2020-4-15 11:16
本帖最后由 taozididi 于 2020-4-15 11:19 编辑

搞定了!!
miqi1314 发表于 2020-4-15 11:19
收藏了,感谢
a1327831029 发表于 2020-4-15 11:23
支持一下
chensweet 发表于 2020-4-15 11:29
感谢楼主分享。
白晓生 发表于 2020-4-15 11:35
人狠话不多,评分走一波。。
feiyangyihan 发表于 2020-4-15 11:42
好好 谢谢分享  虽然不会用
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 21:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表