首页 > 其他分享 >美图录-中国美女爬虫.py

美图录-中国美女爬虫.py

时间:2025-01-03 17:38:31浏览次数:1  
标签:py 爬虫 标题 次数 地址 循环 str 图录 replace

# -*- coding: utf-8 -*-
import re
import requests
import os
def 取全部页():
  单_访问=requests.get('https://www.meitulu.com/guochan/')
  if 单_访问.status_code==200:
    单_访问.encoding='utf-8'
  return(int(re.findall(' ..<a href=".*?">(.*?)</a> <a href=".*?" class=".*?">下一页</a>',单_访问.text)[0]))

def 标题处理(标题):
  标题=标题.replace('?','')#替换文字
  标题=标题.replace('/','')
  标题=标题.replace('|','')
  标题=标题.replace(':','')
  标题=标题.replace('*','')
  标题=标题.replace('<','')
  标题=标题.replace('>','')
  标题=标题.replace('"','')
  return(标题)

def 创建并设置目录(目录): 
  文件分割 = re.split('/',目录)#取文件名
  地址=""
  for 传递地址 in 文件分割:
    if 地址=="":
      地址=传递地址
    else :
      地址=地址+"/"+传递地址
    if os.path.exists(地址)==False:
      os.mkdir(地址)
  os.chdir(目录)#设置工作目录

def 下载图片(下载地址,文件名):      
  if os.path.isfile(文件名)==False:
    次数=1
    while 次数 != 4:  
      读取=requests.get(下载地址)
      if 读取.status_code == 200:
        open(文件名, 'wb').write(读取.content)#写出
        return("OK")
        break
      else:
        次数 = 次数+1
    if 次数==4:
          return("NO")
  return("已存在")


全部页数=取全部页()
for 首_循环次数 in range(全部页数):
  if 首_循环次数+1==1:
    访问=requests.get('https://www.meitulu.com/guochan/')
  else:
    访问=requests.get('https://www.meitulu.com/guochan/'+str(首_循环次数+1)+'.html')
  if 访问.status_code==200:
    访问.encoding='utf-8'
    数组=re.findall('<p><span>.*?</span>数量: (.*?) 张.*?</p>[\S\s]*?<p class=p_title><a href="https://www.meitulu.com/item/(.*?).html" target="_blank">(.*?)</a></p>',访问.text)
    多少页=len(数组)

    创建并设置目录('d:/Users/Administrator/Desktop/Python/美图录-中国美女/'+str(首_循环次数+1))

    for 局_循环次数 in range(多少页):
      张=int(数组[局_循环次数][0])
      数字=数组[局_循环次数][1]
      标题=标题处理(数组[局_循环次数][2])
      创建并设置目录('d:/Users/Administrator/Desktop/Python/美图录-中国美女/'+str(首_循环次数+1)+'/'+标题)

      for 循环次数 in range(张):
         状态=下载图片('http://mtl.ttsqgs.com/images/img/'+str(数字)+'/'+str(循环次数+1)+'.jpg',str(循环次数+1)+'.jpg')
         print('下载   '+'张'+str(循环次数+1)+'/'+str(张)+'   组'+str(局_循环次数+1)+'/'+str(多少页)+'   页'+str(首_循环次数+1)+'/'+str(全部页数)+'   '+状态+'    '+标题)
print('搞定')

 

标签:py,爬虫,标题,次数,地址,循环,str,图录,replace
From: https://www.cnblogs.com/nxhujiee/p/18650579

相关文章

  • Python语法——增加代码可读性
    类型注释增加代码可读性fromtypingimportList,Dict,Set,Union,Optionaldefadd_enter(b:str)->str:returnb+'\n'defparse_data(data):total=0fork,vsindata.items():ifk[1]:forvinvs:......
  • python毕设 网上商城购物系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于网上商城购物系统的研究,现有研究主要集中在系统的整体架构、用户体验优化等方面,多以大型电商平台为研究对象。专门针对使用Python......
  • Pycharm 2024 安装激活详细使用教程(激活至2026,实测是永久,亲测!)
    开发工具推荐:Pycharm安装激活详细使用教程(激活至2026,实际上永久,亲测!)申明:本教程Pycharm补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版!Pycharm是JetBrains公司推出的一款功能强大的Python集成开发环境(IDE),凭借其丰富......
  • 淘宝店铺商品数据洞察:利用Python爬虫获取item_search_shop接口
    引言在电子商务的世界里,商品详情页是连接商家与消费者的重要桥梁。它不仅展示了商品的详细信息,还直接影响着消费者的购买决策。淘宝作为全球知名的电商平台,提供了丰富的API接口,使得开发者能够获取商品的详细信息。本文将探讨如何利用JAVA爬虫技术,获取淘宝的item_get_pro接口,以......
  • WxPython跨平台开发框架之模块字段权限的管理
    在我的很多Winform开发项目中,统一采用了权限管理模块来进行各种权限的控制,包括常规的功能权限(工具栏、按钮、菜单权限),另外还可以进行字段级别的字段权限控制,字段权限是我们在一些对权限要求比较严格的系统里面涉及到的,可以对部分用户隐藏一些敏感的信息,或者禁止不够权限的用户编辑......
  • 国产接口调试工具Hapydev:零代码自动化测试的新选择
    在软件开发领域,接口调试和自动化测试是关键环节。近期,一款由国内开发者打造的接口调试工具Hapydev引起了广泛关注。这款工具以其开源、无需联网的特性,为用户提供了一个全新的选择。下面,我们来详细了解Hapydev的特点和功能,特别是它如何支持零代码自动化测试。Hapydev简介Hapy......
  • 淘宝店铺商品数据洞察:利用Python爬虫获取item_search_shop接口
    引言在电商领域,数据的力量不容小觑。对于淘宝店铺而言,掌握店铺内所有商品的数据,对于优化库存、提升销售策略、增强用户体验等方面都至关重要。本文将探讨如何利用Python爬虫技术,获取淘宝的item_search_shop接口,以获得店铺的所有商品信息,包括商品ID、名称、价格、库存量等关键数据......
  • 新年到了!使用Python创建一个简易的接金元宝游戏
    引言在本教程中,我们将一起学习如何使用Python编程语言和Pygame库来创建一个简单的休闲游戏——“接金元宝”。准备工作 首先,确保你的计算机上已经安装了Python(推荐3.6以上版本)和Pygame库。如果还没有安装Pygame,可以通过pip命令轻松安装:pipinstallpygame没有安装的可......
  • 利用JAVA爬虫获取item_search_img-按图搜索1688商品(拍立淘)接口
    引言在当今的电商领域,图像识别技术的应用越来越广泛,尤其是以图搜图功能,它极大地提高了用户的购物体验。本文将详细介绍如何利用JAVA爬虫技术获取1688商品的按图搜索接口,即拍立淘接口,实现商品的图像识别搜索。一、1688API接口概述1688作为阿里巴巴集团旗下的批发交易平台,提......
  • python中的优先队列
    在Python中,优先队列(PriorityQueue)是一个可以随时获取队列中最大(或最小)元素的数据结构。Python的标准库heapq提供了一个实现最小堆的优先队列,默认情况下是最小堆,但可以通过一些技巧来实现最大堆。优先队列在算法中常用于求解最短路径、合并有序链表、求解k个最小/最大的元......