吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4920|回复: 45
收起左侧

[Python 转载] python小白第三天,爬壁纸

  [复制链接]
乐于助人 发表于 2019-7-29 11:35
首先,膜拜论坛里其他爬虫大佬,妹子图有人前面发过,一个是Beautiful爬的,一个是多线程,但是我保证,我没有看着他们的写,而是自己独立写的简单的单线程爬取,有的爱友可能没有python环境,我就顺便打包了一下,嘻嘻。大佬勿喷,小白一起交流。

exe下载地址:https://www.lanzouj.com/i57m9wf

我不知道行不行,因为我电脑测试成功了,不知道没有环境的行不行,可以试试,激起大家学爬虫的热情。
[Python] 纯文本查看 复制代码
import requests
import os
from lxml import etree

class Spider(object):
    def headers(self):
        head={
                    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0',
                    'Referer':'https://www.mzitu.com/tag/youhuo/'
                }
        self.first_request(head)
    def first_request(self,head):

        url = 'http://www.mzitu.com'
        response = requests.get(url,headers=head)
        # print(response.content.decode())
        html = etree.HTML(response.content.decode('utf-8'))
        Bigtit_list = html.xpath('//ul[@id="pins"]/li/a/img/@alt')
        Bigsrc_list = html.xpath('//ul[@id="pins"]/li/a/@href')
        # print(Bigtit_list,Bigsrc_list)
        for Bigtit,Bigsrc in zip(Bigtit_list,Bigsrc_list):
            if os.path.exists(Bigtit) == False:
                os.mkdir(Bigtit)
            print(Bigsrc)


            self.second_request(Bigtit,Bigsrc,head)

    def second_request(self,Bigtit,Bigsrc,head):
        for i in range(1,15):
            response = requests.get(Bigsrc+'/'+str(i),headers=head)
            html = etree.HTML(response.content.decode())
            img_name = html.xpath('//div[@class="main-image"]/p/a/img/@alt')
            img_link =html.xpath('//div[@class="main-image"]/p/a/img/@src')
            for name,link in zip(img_name,img_link):

                try:
                    rst = requests.get(link,headers=head)

                    img = rst.content
                    print(link)
                    file_name = Bigtit +'\\'+link.split('/')[-1]
                    print('正在下载的图片为:',name)
                    with open(file_name,'wb') as f:
                        f.write(img)
                except Exception as err:
                    print(err)


spyder=Spider()
spyder.headers()






下面这个源码是壁纸88的,昨天一个爱友问我能不能爬爬试试,我试了试,只能爬取网站面向大众的图片,后台原画质的图片,我抓包到原画质图片的下载地址,可是毕竟还是有点太小白了,不会分析后面的特征码从哪里来,很抱歉。
[Python] 纯文本查看 复制代码
import requests
import re
from lxml import etree


class Spyder(object):
    def first_url(self,page):
        for i in range(1,page):
            url = 'http://www.bizhi88.com/s/122/'+str(i)+'.html'
            response = requests.get(url)
            html = response.content.decode()
            mid_tit_list = re.compile('<a class="title" href=".*?" target="_blank" title=".*?">(.*?)</a>').findall(html)
            mid_url_list = re.compile('<a class="title" href="(.*?)" target="_blank" title=".*?">.*?</a>').findall(html)

            for mid_tit,mid_url in zip(mid_tit_list,mid_url_list):
                self.get_url(mid_tit,mid_url)

    def get_url(self,mid_tit,mid_url):
        url = 'http://www.bizhi88.com'+mid_url
        response = requests.get(url)
        html = etree.HTML(response.content.decode())
        new_url = html.xpath('//div[@class="layout wp-con"]/div/img/@src')
        # print(new_url)
        self.data_save(new_url,mid_tit)

    def data_save(self,new_url,mid_tit):
        response = requests.get(new_url[0])
        data = response.content
        print('正在下载的图片名字是:',mid_tit)
        with open(mid_tit+'.jpg','wb') as f:
            f.write(data)

spyder = Spyder()
page = int(input('请输入要下载而页数:'))
spyder.first_url(page)

妹纸图

妹纸图

壁纸88

壁纸88

免费评分

参与人数 3吾爱币 +5 热心值 +2 收起 理由
taobaogd + 1 学了3天这么厉害,楼主之前是否有基础?膜拜一下~~~
苏紫方璇 + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
嘚瑟挨顿揍 + 1 + 1 谢谢@Thanks!

查看全部评分

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

 楼主| 乐于助人 发表于 2019-7-29 13:14
嘚瑟挨顿揍 发表于 2019-7-29 13:13
麻烦问一下  python基础是看的PDF还是视频啊  看的谁的

链接:https://pan.baidu.com/s/1AZ6nczGBALVq55IhmtQAZQ
提取码:dvrd
复制这段内容后打开百度网盘手机App,操作更方便哦
视频  这是我看的资料  不知道适不适合你

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
china-ray + 1 + 1 谢谢@Thanks!

查看全部评分

indian806 发表于 2019-7-29 13:12
乐于助人 发表于 2019-7-29 13:06
我也不太清楚  其他小伙伴不知道成功没

我晚上回去再试试吧,对了,我有几个问题想解决下,不知可否交流下。还有我目前也买了书在看,刚起步,还没稳下心
夜记梦 发表于 2019-7-29 11:47
 楼主| 乐于助人 发表于 2019-7-29 11:48
夜记梦 发表于 2019-7-29 11:47
想学爬图 大概要怎么学习 可以指导一下吗

我的顺序是 python基础语法 爬虫实战  然后自己摸索着写
indian806 发表于 2019-7-29 11:54
运行后只看到文件夹,但是里面没有图片啊,朋友
 楼主| 乐于助人 发表于 2019-7-29 11:58
indian806 发表于 2019-7-29 11:54
运行后只看到文件夹,但是里面没有图片啊,朋友

[img][/img]我市的时候是有的...可能是没环境吧
 楼主| 乐于助人 发表于 2019-7-29 12:00
软件测试截图

软件测试

软件测试
靈龗 发表于 2019-7-29 12:04
感觉有点厉害啊,兄弟
cj13888 发表于 2019-7-29 12:07
精神可嘉。我要向你学习
我爱猫哥 发表于 2019-7-29 12:18
楼主牛逼,学的哪个教程。可以共享下不
 楼主| 乐于助人 发表于 2019-7-29 12:22
我爱猫哥 发表于 2019-7-29 12:18
楼主牛逼,学的哪个教程。可以共享下不

上个帖子回复里面有教程链接
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-16 15:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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