Python 2.7和3.6爬取妹子图网站单页测试图片
1、url= http://www.mzitu.com/74100/x,2为1到23的值
2、用到模块 os 创建文件目录; re模块正则匹配目录名 图片下载地址; time模块 限制下载时间;requests模块获取网页源代码;urllib模块 urllib.urlretrieve(图片url,保存的带扩展名的文件名x.jpg)方法下载图片
3、知识点 文件目录处理 函数封装调用 全局变量
4、代码
# -*- coding:utf8 -*- import os import re import requests as rq import urllib import time # 创建目录函数 保存文件位置 def create_catename(): # 取出网页的上层目录名称 url = urls[0] html = rq.get(url).text cate_name = re.findall(r'<a href="http://www.mzitu.com/xinggan" rel="category tag">(.*?)</a>', html)[0] path = 'D:\\%s' % cate_name return path # 下载图片 定义n为全局变量 以n计数为图片的文件名n.jpg 定义n全面变量 以免for循环时候上次循环n的值被重新赋值 def getimg(): global n n = 1 for url in urls: html = rq.get(url).text regex = re.compile('<img src="(.*?.jpg)" alt=') img_url = re.findall(regex, html)[0] #urllib.urlretrieve(img_url, '%s.jpg' % n) ,此处为Python2.7 写法 urllib.request.urlretrieve(img_url, '%s.jpg' % n) #prython3.6写法 n += 1 # main函数 调用上面的两个函数 urls是个全局变量 取23张页面 下载23张图 def main(): global urls urls = ['http://www.mzitu.com/74100/{}'.format(str(i)) for i in range(1, 24)] path = create_catename() # 创建文件目录 os.mkdir(path) # 切换到该目录 os.chdir(path) time.sleep(2) getimg() main()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗