吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4790|回复: 30
收起左侧

[Python 转载] python小白第二次实践,爬壁纸

[复制链接]
乐于助人 发表于 2019-7-28 13:23
嘻嘻嘻,感谢大家昨天的评论和评分和鼓励,我会继续加油学习的,今天爬了个资源还不错壁纸网站,分享给大家,看不懂得地方,私聊评论,我看到了,一定回答,另外大佬们看到有优化简写的地方,也请多多指教,嘻嘻。
本来写循环可以下所有类目的,后来想了想,就改成选择数字了。废话不多说,上源码。
[Asm] 纯文本查看 复制代码
# 作者:Administrator
# 日期:2019/7/28 11:39
# 工具:PyCharm
import requests
from lxml import etree
import os

class BiZhi(object):

    def first_request(self,headers,number):
        for j in range(1,2):
            url = 'http://www.win4000.com/mobile_'+str(number)+'_0_0_'+str(j)+'.html'
            response = requests.get(url,headers=headers)
            html = etree.HTML(response.content.decode())
            Bigtit_list = html.xpath('//ul[@class="clearfix"]/li/a/@title')
            Biglink_list = html.xpath('//div[@class=""]/ul/li/a/@href')
            for Bigtit,Biglink in zip(Bigtit_list,Biglink_list):
                if os.path.exists(Bigtit) == False:
                    os.mkdir(Bigtit)
                biglink = str(Biglink).replace('.html','')
                self.second_request(Bigtit,biglink,headers)

    def second_request(self,Bigtit,biglink,headers):#,Bigtit,Biglink,
        for i in range(1,10):
            try:
                url = biglink+'_'+str(i)+'.html'
                # if url == biglink+'_'+str(i+1)+'.html':
                #     break
                response = requests.get(url,headers=headers)
                html = etree.HTML(response.content.decode())
                img_link = ''.join(html.xpath('//div[@class="main-wrap"]/div/a/img/@src'))
                print(img_link)
                # 请求图片下载地址
                resp = requests.get(img_link,headers=headers)
                data = resp.content
                img_name = img_link[-10:]
                # print(img_name)
                file_name =Bigtit +'\\' +img_name
                print('正在下载的图片为:',img_name)
                with open(file_name,'wb') as f:
                    f.write(data)
            except Exception as err:
                if err == 'string index out of range':
                    continue



spider = BiZhi()
headers = {'User-Agent':'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)'}
print('''
以下为分类对应数字,输入是请输入数字!……^^_^^……
明星:2338  节日:2339  美女:2340
风景:2341  汽车:2342  可爱:2343
唯美:2344  动漫:2346  爱情:2347
动态:2348  卡通:2349  高翔:2350
影视:2354  动物:2355  植物:2356  美食:2362


''')
number = input('请输入您要下载类目对应的数字:')
spider.first_request(headers,number)


以图为证:

文件夹

文件夹

测试成功

测试成功

免费评分

参与人数 4吾爱币 +3 热心值 +4 收起 理由
rumengchuxing + 1 + 1 热心回复!
smyxni + 1 热心回复!
twbin30 + 1 + 1 学习了
17687010385 + 1 + 1 我很赞同!

查看全部评分

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

 楼主| 乐于助人 发表于 2019-7-28 18:22
心不再流泪 发表于 2019-7-28 17:47
学这门语言如果除了爬,还有什么其他的用处?

除了爬  还有  自动化 机器设计 人工智能  网页设计 小程序设计  前后端  ....太多了不一一列举了
 楼主| 乐于助人 发表于 2019-7-29 09:31
lu_ 发表于 2019-7-29 08:39
楼主看的都是什么教程,爬虫这一块一点都不会

复制这段内容后打开百度网盘手机App,操作更方便哦?链接:https://pan.baidu.com/s/1_12uXKhUJcd-YKn8Aa3pOg?提取码:t9j8

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
lu_ + 2 + 1 好大...

查看全部评分

 楼主| 乐于助人 发表于 2019-7-28 13:38
 楼主| 乐于助人 发表于 2019-7-28 13:39
最多是5页
fudashuai 发表于 2019-7-28 13:40
欢迎楼主分享给大家!
xiaolvjsy 发表于 2019-7-28 13:53
学习学习……
uumesafe 发表于 2019-7-28 13:56
这个网站的图片还不错的嘛
 楼主| 乐于助人 发表于 2019-7-28 14:06
QQ截图20190728140403.png
 楼主| 乐于助人 发表于 2019-7-28 14:06
这张不错
sutungpo 发表于 2019-7-28 14:11
学习了,真厉害!
青衫负雪 发表于 2019-7-28 14:22
好厉害,膜拜大佬
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-16 12:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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