效果图

版本以及需要用到的第三方库

  • python 2.7
  • bs4 (安装命令: pip install bs4)
  • -

代码

#!/usr/bin/env python
#coding:UTF-8 #脚本名称: 爬妹纸写真图
#脚本作者: 剑齿虎
#脚本版本: python2.7
#第三方库: BeautifulSoup import urllib2
import os
from bs4 import BeautifulSoup
import sys
reload(sys)
sys.setdefaultencoding('gbk') #使用GBK编码 #函数: 进入下载写真集
def DownloadMz(url):
html = urllib2.urlopen(url).read()
dom_ = BeautifulSoup(html, 'html.parser') #解析为类似dom的对象 title = dom_.body.select(".main-title")[0].string #找元素:标题
count = dom_.body.select(".pagenavi")[0].findAll('a')[4].span.string #找元素:页数 #打印信息
print('title:' + title)
print('count:' + count)
print('url:' + url + "\n------------------") #保存图片
for i in range(1,int(count)):
get_url = url + "/" + str(i) #分页地址
save_path = os.getcwd() + "\\Download\\" + str(title) #保存目录 #创建保存目录, 如果不存在
if os.path.exists(save_path)==False:
os.mkdir(save_path) #保存图片
save_path = save_path + "\\" + str(i) + ".jpg" #保存文件名
SaveImage(get_url, save_path)
print("-- OK: "+ save_path) print("---------- END -----------\n\n") #函数: 保存每页图片
def SaveImage(get_url, savePath):
#获取图片地址
html = urllib2.urlopen(get_url).read()
dom_ = BeautifulSoup(html, 'html.parser')
src = dom_.select(".main-image")[0].p.a.img['src'] #保存呀保存
f = open(savePath, 'wb')
f.write(urllib2.urlopen(src).read())
f.close() #来啊~ 快活呀
url = "http://www.mzitu.com/japan/"
html = urllib2.urlopen(url).read()
bs = BeautifulSoup(html, 'html.parser')
pages = bs.body.select(".page-numbers")[5]['href'] #取总页数html #取爬取页面分页总数
cur_end = pages.rindex("/", 0)
cur_start = pages.rindex("/", 0, cur_end) + 1
page_count = pages[cur_start:cur_end] #页数 for i in range(1, int(page_count)):
page_url = url + "/page/" + str(i) #分页url
print("*** PAGE *** " + str(i) + "/" + str(page_count) + " $ " + page_url) dom_ = BeautifulSoup(urllib2.urlopen(page_url).read(), 'html.parser') #取分页dom
uls = bs.body.findAll('ul',{'id':'pins'})[0].findAll("li") #获取写真集列表 #进入下载写真集
for li in uls:
DownloadMz(str(li.span.a['href']))

目前正在学习python, 为了更能快速学到知识. 最好就是实践一个小项目, 一般看文档一般搜百度一边写程序, 虽说踩的坑不少, 但也积累了经验.

这个程序还存在个问题, 就是”写真集”没有分页, 下载完第一页就结束了. 有兴趣的小伙伴可以改改

“脚本目录需要新建一个 Download 目录, 脚本不会自己创建这个目录的~”

[python] 第一个爬虫, 爬妹子写真集图片的更多相关文章

  1. python简单小爬虫爬取易车网图片

    上代码: import requests,urllib.request from bs4 import BeautifulSoup url = 'http://photo.bitauto.com/' ...

  2. python爬虫-爬取百度图片

    python爬虫-爬取百度图片(转) #!/usr/bin/python# coding=utf-8# 作者 :Y0010026# 创建时间 :2018/12/16 16:16# 文件 :spider ...

  3. node:爬虫爬取网页图片

    代码地址如下:http://www.demodashi.com/demo/13845.html 前言 周末自己在家闲着没事,刷着微信,玩着手机,发现自己的微信头像该换了,就去网上找了一下头像,看着图片 ...

  4. Python项目之我的第一个爬虫----爬取豆瓣图书网,统计图书数量

    今天,花了一个晚上的时间边学边做,搞出了我的第一个爬虫.学习Python有两个月了,期间断断续续,但是始终放弃,今天搞了一个小项目,有种丰收的喜悦.废话不说了,直接附上我的全部代码. # -*- co ...

  5. erlang 爬虫——爬取网页图片

    说起爬虫,大家第一印象就是想到了python来做爬虫.其实,服务端语言好些都可以来实现这个东东. 在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌 ...

  6. Python编写网页爬虫爬取oj上的代码信息

    OJ升级,代码可能会丢失. 所以要事先备份. 一開始傻傻的复制粘贴, 后来实在不能忍, 得益于大潇的启示和聪神的原始代码, 网页爬虫走起! 已经有段时间没看Python, 这次网页爬虫的原始代码是 p ...

  7. 用python写一个爬虫——爬取性感小姐姐

    忍着鼻血写代码 今天写一个简单的网上爬虫,爬取一个叫妹子图的网站里面所有妹子的图片. 然后试着先爬取了三页,大概有七百多张图片吧!各个诱人的很,有兴趣的同学可以一起来爬一下,大佬级程序员勿喷,简单爬虫 ...

  8. Python写爬虫爬妹子

    最近学完Python,写了几个爬虫练练手,网上的教程有很多,但是有的已经不能爬了,主要是网站经常改,可是爬虫还是有通用的思路的,即下载数据.解析数据.保存数据.下面一一来讲.   1.下载数据 首先打 ...

  9. Python多线程爬虫爬取网页图片

    临近期末考试,但是根本不想复习!啊啊啊啊啊啊啊!!!! 于是做了一个爬虫,网址为 https://yande.re,网页图片为动漫美图(图片带点颜色........宅男福利 github项目地址为:h ...

  10. Python爬虫爬取网页图片

    没想到python是如此强大,令人着迷,以前看见图片总是一张一张复制粘贴,现在好了,学会python就可以用程序将一张张图片,保存下来. 今天逛贴吧看见好多美图,可是图片有点多,不想一张一张地复制粘贴 ...

随机推荐

  1. Django 有关 models 数据类型介绍:

    在model中添加字段的格式一般为:  field_name = field_type(**field_options) 一  field options(所有字段共用) 1  null   默认为F ...

  2. Python爬虫————泉州二手房数据爬取和数据可视化

    1.选题的背景 我本次的主题是泉州二手房房价的调查分析. 首先通过爬虫采集链家网上所有二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的规律:将这 ...

  3. 聊聊Flink必知必会(二)

    Checkpoint与Barrier Flink是一个有状态的流处理框架,因此需要对状态做持久化,Flink定期保存状态数据到存储空间上,故障发生后从之前的备份中恢复,这个过程被称为Checkpoin ...

  4. FPGA加速技术:在数据中心和云计算中的应用

    目录 1. 引言 2. 技术原理及概念 3. 实现步骤与流程 3.1 准备工作:环境配置与依赖安装 3.2 核心模块实现 3.3 集成与测试 4. 应用示例与代码实现讲解 4.1. 应用场景介绍 4. ...

  5. React后台管理系统10 菜单数据的整理、以及其余路径的配置、刷新时默认当前选中样式

    对菜单进行数据整理 import { DesktopOutlined, FileOutlined, PieChartOutlined, TeamOutlined, UserOutlined, } fr ...

  6. MyBatis-plus自动填充功能

    1.什么是mp的自动填充?这个功能是做什么的呢? 有的时候,我们可能有这样子的需求,在插入(insert)或者更新数据(update)的时候可以自动填充数据,比如密码,version等.在mp中为我们 ...

  7. 基于AidLux的自动驾驶智能预警应用方案

    ### 1. 自动驾驶感知算法及AidLux相关方案介绍 #### 1.1自动驾驶 自动驾驶汽车,又称无人驾驶车.电脑驾驶车.无人车.自驾车,是一种需要驾驶员辅助驾驶或者完全不需要操控的车辆.作为自动 ...

  8. windows ce 5.0 + vs2005 + sql数据库_开发注意事项

    今天通过对RFID读写器(windows ce 5.0)的摸索以及实验总结出一下注意事项: 安装 vs2005 后要配置windows ce 的开发环境,从网上下载对应设备版本的SDK,安装后新建项目 ...

  9. .net 6 winform启动器:调用CMD命令行执行dotnet命令启动.net core程序并将控制台输出日志输出到winform textbox实现实时日志显示

    背景 历史遗留问题,生产车间运行的一个.net core signalr程序使用命令行程序启动,经常由于生产人员误操作将光标停留在控制台上导致程序假死,丢失部分测试数据,车间随便找了一台win10系统 ...

  10. Python数据分析易错知识点归纳(六):机器学习

    六.机器学习 分类和聚类的区别 分类是有监督学习,聚类是无监督学习 分类算法用于预测新样本,聚类用于理解已知数据 标准化/归一化 type_se_num = type_se[type_se!= 'ob ...