[Python] 纯文本查看 复制代码import requests

import re

import os

#类型列表

Type_list = {1:'qingchun',2:'xiaohua',3:'chemo',4:'qipao',5:'mingxing',6:'xinggan',}

Type_list_cn = {'qingchun':'青春美眉','xiaohua':'美女校花','chemo':'性感车模','qipao':'旗袍美女','mingxing':'明星写真','xinggan':'性感美女'}

#请求头

hd = {

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'

}

#主函数

def main():

try:

for i in range(1,7):

#输出类型序号和名字 还有页数

print(f"{i}.{Type_list_cn[Type_list[i]]} 共{get_TotalPage(Type_list[i])}页")

#限制输入

while(True):

Type_num = input('输入要获取的美女类型:')

if Type_num.isdigit():

Type_num = eval(Type_num)

if Type_num in range(1,7):

break

else:

print('请输入1-6的数字!')

else:

print("请输入数字!")

#类型

Type = Type_list[Type_num]

#总页数

TotalPage = get_TotalPage(Type)

#限制输入

while(True):

DownloadPage = input("请输入要获取前多少页(为空则全部):")

if DownloadPage == '':

DownloadPage = TotalPage

break

elif DownloadPage.isdigit():

DownloadPage = eval(DownloadPage)

if DownloadPage in range(1,TotalPage+1):

break

else:

print(f"请输入1-{TotalPage}的数字!")

else:

print("请输入数字!")

pic(Type_num,Type,DownloadPage)

except:

print("程序出错!\n")

#获取总页数

def get_TotalPage(Type):

TotalPage = 0

url = 'https://www.mm131.net/'+Type

response = requests.get(url,headers = hd)

response.encoding = 'gb2312'

TotalPage_pattern = re.compile('(?<=下一页

#正则匹配总页数

match = (TotalPage_pattern.findall(response.text))

TotalPage = eval(match[0].split('_')[1])

return TotalPage

#下载图片总功能

def pic(Type_num,Type,DownloadPage):

print("\n正在处理第1页")

url = 'https://www.mm131.net/' + Type

get_web(url,Type)

if DownloadPage > 1:

for page in range(2,DownloadPage+1):

print("\n正在处理第{}页".format(page))

#拼凑当前页url

url = 'https://www.mm131.net/' + Type + '/list_' + str(Type_num) +'_'+ str(page) + '.html'

get_web(url,Type)

#获取当前页网页信息用以获取套图数量和套图num

def get_web(url,Type):

response = requests.get(url,headers = hd)

response.encoding = 'gb2312'

text_pattern = re.compile('您的位置[\s\S]*?末页')

#先正则匹配一次缩小范围

text = text_pattern.findall(response.text)

PicList_pattern = re.compile(f'(?<=https://www.mm131.net/{Type}/)\d+')

#再用正则匹配出套图NUM

PicList = PicList_pattern.findall(text[0])

total = len(PicList)

print(f"这页有{total}个套图\n")

for i in range(1,total+1):

pic_num = PicList[i-1]

print(f" 正在处理第{i}个套图:")

#拼凑套图页面URL

pic_url = 'https://www.mm131.net/' + Type + '/' + pic_num + '.html'

get_pic(pic_url,pic_num,Type)

#获取套图页面信息用以获取套图名字和图片数量

def get_pic(pic_url,pic_num,Type):

response = requests.get(pic_url,headers = hd)

response.encoding = 'gb2312'

pic_name_pattern = re.compile("(?<=

).+(?=

)")

#套图名字

pic_name = pic_name_pattern.findall(response.text)[0]

print(" 套图名字:"+pic_name)

TotalPic_pattern = re.compile('(?<=共)\d+')

#图片数量

TotalPic = eval(TotalPic_pattern.findall(response.text)[0])

print(" 共{}张图片".format(TotalPic))

#判断当前路径下是否存在相应目录,没有则创建

if os.path.exists(f'图片/{Type_list_cn[Type]}/{pic_name}') == False:

os.makedirs(f'图片/{Type_list_cn[Type]}/{pic_name}')

#开始遍历下载图片

for i in range(1,TotalPic+1):

#文本进度条

print("\r 正在下载第{:>2}张图片{:>3}%[".format(i,round(i*100/(TotalPic),1))+"$"*i+"-"*(TotalPic-i)+"]",end='')

#第1个图片的referer和后面图片不一样

if i == 1:

referer = f'https://www.mm131.net/{Type}/{pic_num}.html'

else:

referer = f'https://www.mm131.net/{Type}/{pic_num}_{i}.html'

#拼凑图片URL

url = f'https://img1.mmmw.net/pic/{pic_num}/{i}.jpg'

download_pic(i,url,pic_name,Type,referer)

else:

print(" 套图已存在!",end = '')

print("\n")

#下载图片

def download_pic(i,url,pic_name,Type,referer):

head = {

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36',

'Referer': referer

}

response = requests.get(url,headers = head)

#下载到对应文件夹

try:

file = open(f'./图片/{Type_list_cn[Type]}/{pic_name}/{i}.jpg','xb')

file.write(response.content)

file.close

except:

print(" 图片已存在!")

#无限循环主程序

while(True):main()

python语言编写爬虫_自写Python小爬虫一个 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...相关推荐

  1. 看漫画学python下载_Python爬虫实现漫画下载 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...

    [Python] 纯文本查看 复制代码import requests import lxml.html import os import re class Api(): # 搜索漫画 # keywor ...

  2. python时钟代码_python时钟 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...

    [Python] 纯文本查看 复制代码import time import tkinter as tk from borax.calendars.lunardate import LunarDate ...

  3. python解密码编程_python生成密码本 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...

    [Python] 纯文本查看 复制代码import time stm=time.time() dic = open('password.txt', 'a')#在当前py文件所在目录生成password ...

  4. python全栈开发下载_python全栈开发神器 - 『精品软件区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...

    将安卓手机打造成你的python全栈开发利器 超神利器- 相信多数安卓用户都使用过Qpython这款移动端的Python编辑器吧?之前我也研究过一阵子这个工具,但因为一次简单的爬虫让我对它失望之极.Q ...

  5. python蚂蚁森林自动偷能量_蚂蚁森林自动偷能量 激活 - 『精品软件区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...

    本帖最后由 我就是帅啊 于 2019-5-19 12:31 编辑 混点热心值吧,打赏我一点热心值吧!!!(还差1分~) ID在帮助里查看,高版本的直接安装打开是没作用的,要激活. 附上太极官方模块下载 ...

  6. python语言基础实验_实验二Python语言基础函数包练习.doc

    实验二Python语言基础函数包练习 实验 Python语言基础函数包练习:1208 学号: 实验目的 1.Python语言包,如math.NumPySciPy和Matplotlib等函数包的使用实验 ...

  7. python 小说爬虫_从零开始写Python爬虫 --- 1.7 爬虫实践: 排行榜小说批量下载

    从零开始写Python爬虫 --- 1.7 爬虫实践: 排行榜小说批量下载Ehco 5 个月前 本来只是准备做一个爬起点小说名字的爬虫,后来想了一下,为啥不顺便把小说的内容也爬下来呢?于是我就写了这个 ...

  8. python如何编写树_如何用Python画一颗小树?

    1.代码的结构: 本代码有两个子函数组成,有main函数和画树函数组成. 2.编写画树函数: 画树函数,就是用来画出我们的树的一种子函数,代码如下:def tree(plist,l,a,f): if ...

  9. python语言中浮点数_举例说明python如何生成一系列浮点数

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 在这篇文章中,我将向您解释如何用python生成一系列浮点数.我已经用python写了几个示例,演示了如何 ...

最新文章

  1. 公共的service接口
  2. 可爱的特殊字符集收集
  3. linux vim编辑kconfig 无法wq,编译linux-3.15.5时遇到的几个错误
  4. 大数据和个性化设计是用户体验(UX)的未来
  5. 【.Net 学习系列】-- EF Core实践(Code First)
  6. C++ STL 四种智能指针
  7. linux生成文件自带时间,linux生成固定日期文件及删除一定日期前的文件
  8. java xmladapte_java – Jaxb:全局绑定使用XMLAdapter进行双...
  9. 原来真的不会用指针[*p++]
  10. python怎么查看网页编码格式_Python写爬虫时如果碰到以Request Payload格式传输数据怎么办?...
  11. 利用红帽Piranha方案实现WEB负载均衡
  12. java集成常用数组操作的类(比之前的集成度高点)
  13. ffmpeg 推流FLV文件,采用rtmp协议
  14. 测试用例和缺陷报告模板
  15. html根据域名跳转不同页面,根据邮箱的域名跳转到相应的登录页面的代码
  16. html caption 靠左,HTML caption align 属性
  17. 什么软件有html5游戏,多款好玩HTML5小游戏带你认识HTML5优势
  18. win7家庭版计算机添加用户,win7家庭版怎样设置来宾用户权限
  19. python timm库
  20. 腾讯大讲堂之每年3万行代码,你达标了吗?

热门文章

  1. 超全 | 基于纯视觉Multi-Camera的3D感知方法汇总!
  2. 什么是BI、数据仓库、数据湖和数据中台,他们有什么差异?
  3. Android实现将View转化为图片并保存到本地
  4. JavaSwing实现贷款计算器
  5. Windows 免费 HEVC 解码器 下载
  6. 惠普计算机电脑底盖怎么打开,惠普笔记本后盖怎么拆
  7. LeetCode - 500 - 键盘行(keyboard-row)
  8. Unity WebGL 打包il2cpp.exe did not run properly!
  9. 基于74LS148的简单四路抢答器 Multisim
  10. macos 输入法切换卡顿 macos monterey (已解决)