找回密码
  注册[Register]
查看: 509|回复: 15

[python] 爬取彼岸的壁纸

[复制链接]
发表于 2022-7-23 08:29 来自手机 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

用python把所有图片保存下来,然后慢慢挑
我记得这个彼岸网好像下载的话只能下一张


库:lxml、requests、os

软件:PyCharm    Python3.9
[Python] 纯文本查看 复制代码
import requests from lxml import etree 
import os
 
# 如果没有img2这个文件夹则创建一个
filename = 'img2\\'
if not os.path.exists(filename):
    os.mkdir(filename)
 
 
class ImageSpider(object):
    def __init__(self):
        self.index_url = "http://www.netbian.com/1920x1080/index.htm"
        self.url = "http://www.netbian.com/1920x1080/index_{}.htm"
        self.headers = {'User-Agent':
                            'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0'
                        }
 
    '''发送请求  获取响应'''
 
    def get_page(self, url):
        res = requests.get(url=url, headers=self.headers)
        html = res.content.decode("gbk")  # 网络编码
        return html  # 返回值
 
    '''解析数据'''
 
    def parse_page(self, html):
        parse_html = etree.HTML(html)
        image_src_list = parse_html.xpath('//div[@class="list"]/ul/li/a//@href')
 
        for image_src in image_src_list:
            fa = "http://www.netbian.com" + image_src
            # print(fa)
            html1 = self.get_page(fa)  # 第二个发生请求
            parse_html1 = etree.HTML(html1)
            # print(parse_html1)
 
            big_url = parse_html1.xpath('//div[@class="pic-down"]/a/@href')
            for i in big_url:
                diet = "http://www.netbian.com" + i
                # print(diet)
                html2 = self.get_page(diet)
                parse_html2 = etree.HTML(html2)
                # print(parse_html2)
                url2 = parse_html2.xpath('//table[@id="endimg"]//tr//td//a/img/@src')
                for r in url2:
                    pass
                    # print(r)
 
                file_name = parse_html2.xpath('//table[@id="endimg"]//tr//td//a/@title')
                # print(url2)
                for e in file_name:
                    # print(e)
                    html2 = requests.get(url=r, headers=self.headers).content
                    # print(html2)
                    with open("img2\\" + e + '.jpg', 'wb') as f:
                        f.write(html2)
                        print("%s下载成功" % file_name)
 
    def main(self):
        print('此软件用于爬取彼岸壁纸网(http://www.netbian.com/1920x1080/index.htm)的壁纸,下面请输入你要爬取的页数:\n')
        start_Page = int(input("开始页:"))
        end_Page = int(input("结束页:"))
        for page in range(start_Page, end_Page + 1):
            if page == 1:
                url = self.index_url
            else:
                url = self.url.format(page)
            # print(url)
            html = self.get_page(url)
            print("第%s页壁纸开始下载!!!!" % page)
            # print(html)
            self.parse_page(html)
 
 
if __name__ == '__main__':
    imageSpider = ImageSpider()
    imageSpider.main()


下面是用pyinstaller模块打包成的EXE

https://wws.lanzouv.com/i0Ujr088q9tg
密码:433g


免费评分

参与人数 1热心值 +1 牛币 +1 收起 理由
alei1370 + 1 + 1 流批 6666

查看全部评分

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2022-7-23 08:29 | 显示全部楼层
多谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-23 08:35 | 显示全部楼层
谢谢大佬分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-23 08:59 | 显示全部楼层

感谢楼主的分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-23 09:09 | 显示全部楼层

支持楼主,谢谢分享。
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-23 09:10 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-23 09:10 | 显示全部楼层
感谢分享,必须支持
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-23 09:10 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-23 09:12 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-23 09:22 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|广告投放|大牛论坛

GMT+8, 2024-5-15 17:32 , Processed in 0.041077 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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