python项目实战——下载美女图片

python项目实战——下载美女图片


🌟 亲爱的读者们, 🌟

感谢你们访问我的博客!如果你希望更深入、透彻地了解文章中的内容,欢迎随时私信我。我可以为你录制视频讲解,让知识变得更加生动有趣。

当然,若你们对这个想法感兴趣的朋友们越多,我会更有动力去制作这些视频哦!让我们一起探索更多的知识,共同成长!

期待你的私信!📩

完整代码

import requests
import re
import pprint
from lxml import etree
import os


# 拿到具体页面的链接下载一张图片
def download_images(url):
    rot = requests.get(url=url)
    rot.encoding=rot.apparent_encoding
    # print(rot.text)
    html = etree.HTML(rot.text)
    try:
        title = html.xpath('//div[@class="ImageBody"]//img/@alt')
        links = html.xpath('//div[@class="ImageBody"]//img/@src')
        # 显示下载内容
        # print(title[0])
        # print(links[0])
        number1 = html.xpath('//li[@class="thisclass"]/a[@href]/text()')
        # print(title[0]+str(number1[0]))
        # print(links[0])

        # 创建文件夹
        if not os.path.exists(f'图片/{
     
     title[0]}'):
            os.mkdir(f'图片/{
     
     title[0]}')

        pic = requests.get(url=links[0]).content
        with open(f'图片/{
     
     title[0]}/{
     
     title[0]}{
     
     str(number1[0])}.jpg','wb') as f:
            f.write(pic)
            print(f'已下载……{
     
     title[0]}{
     
     str(number1[0])}') # 提示下载成功
    except:
        print(f'出错了......{
     
     url}')


# 给第一个图片的链接,就可以得到其他图片的链接
def link_of_pictures(url):
    rot = requests.get(url=url)
    # print(url) # 检查当前链接是否正确
    rot.encoding=rot.apparent_encoding
    # print(rot.text)
    html = etree.HTML(rot.text)

    features = re.findall('xingganmeinv/(\\d+).htm',url)[0]
    # print(features) # 这一组的特征值,比如http://www.umeituku.com/meinvtupian/xingganmeinv/208585.htm里面的208585

    # 获取页数
    numbers = html.xpath('//div[@class="NewPages"]//ul//li//a/text()')
    number = re.findall('共(\\d+)页',numbers[0])

    # print(number[0]) # 页数
    download_images(url)
    for i in range(2,int(number[
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兆。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值