python语言编写爬虫_自写Python小爬虫一个 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...
[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...相关推荐
- 看漫画学python下载_Python爬虫实现漫画下载 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...
[Python] 纯文本查看 复制代码import requests import lxml.html import os import re class Api(): # 搜索漫画 # keywor ...
- python时钟代码_python时钟 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...
[Python] 纯文本查看 复制代码import time import tkinter as tk from borax.calendars.lunardate import LunarDate ...
- python解密码编程_python生成密码本 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...
[Python] 纯文本查看 复制代码import time stm=time.time() dic = open('password.txt', 'a')#在当前py文件所在目录生成password ...
- python全栈开发下载_python全栈开发神器 - 『精品软件区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...
将安卓手机打造成你的python全栈开发利器 超神利器- 相信多数安卓用户都使用过Qpython这款移动端的Python编辑器吧?之前我也研究过一阵子这个工具,但因为一次简单的爬虫让我对它失望之极.Q ...
- python蚂蚁森林自动偷能量_蚂蚁森林自动偷能量 激活 - 『精品软件区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...
本帖最后由 我就是帅啊 于 2019-5-19 12:31 编辑 混点热心值吧,打赏我一点热心值吧!!!(还差1分~) ID在帮助里查看,高版本的直接安装打开是没作用的,要激活. 附上太极官方模块下载 ...
- python语言基础实验_实验二Python语言基础函数包练习.doc
实验二Python语言基础函数包练习 实验 Python语言基础函数包练习:1208 学号: 实验目的 1.Python语言包,如math.NumPySciPy和Matplotlib等函数包的使用实验 ...
- python 小说爬虫_从零开始写Python爬虫 --- 1.7 爬虫实践: 排行榜小说批量下载
从零开始写Python爬虫 --- 1.7 爬虫实践: 排行榜小说批量下载Ehco 5 个月前 本来只是准备做一个爬起点小说名字的爬虫,后来想了一下,为啥不顺便把小说的内容也爬下来呢?于是我就写了这个 ...
- python如何编写树_如何用Python画一颗小树?
1.代码的结构: 本代码有两个子函数组成,有main函数和画树函数组成. 2.编写画树函数: 画树函数,就是用来画出我们的树的一种子函数,代码如下:def tree(plist,l,a,f): if ...
- python语言中浮点数_举例说明python如何生成一系列浮点数
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 在这篇文章中,我将向您解释如何用python生成一系列浮点数.我已经用python写了几个示例,演示了如何 ...
最新文章
- 公共的service接口
- 可爱的特殊字符集收集
- linux vim编辑kconfig 无法wq,编译linux-3.15.5时遇到的几个错误
- 大数据和个性化设计是用户体验(UX)的未来
- 【.Net 学习系列】-- EF Core实践(Code First)
- C++ STL 四种智能指针
- linux生成文件自带时间,linux生成固定日期文件及删除一定日期前的文件
- java xmladapte_java – Jaxb:全局绑定使用XMLAdapter进行双...
- 原来真的不会用指针[*p++]
- python怎么查看网页编码格式_Python写爬虫时如果碰到以Request Payload格式传输数据怎么办?...
- 利用红帽Piranha方案实现WEB负载均衡
- java集成常用数组操作的类(比之前的集成度高点)
- ffmpeg 推流FLV文件,采用rtmp协议
- 测试用例和缺陷报告模板
- html根据域名跳转不同页面,根据邮箱的域名跳转到相应的登录页面的代码
- html caption 靠左,HTML caption align 属性
- 什么软件有html5游戏,多款好玩HTML5小游戏带你认识HTML5优势
- win7家庭版计算机添加用户,win7家庭版怎样设置来宾用户权限
- python timm库
- 腾讯大讲堂之每年3万行代码,你达标了吗?
热门文章
- 超全 | 基于纯视觉Multi-Camera的3D感知方法汇总!
- 什么是BI、数据仓库、数据湖和数据中台,他们有什么差异?
- Android实现将View转化为图片并保存到本地
- JavaSwing实现贷款计算器
- Windows 免费 HEVC 解码器 下载
- 惠普计算机电脑底盖怎么打开,惠普笔记本后盖怎么拆
- LeetCode - 500 - 键盘行(keyboard-row)
- Unity WebGL 打包il2cpp.exe did not run properly!
- 基于74LS148的简单四路抢答器 Multisim
- macos 输入法切换卡顿 macos monterey (已解决)