效果图

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

  • 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. linux 系统安全和应用

    目录 一.系统安全 二.账号安全 三.修改密码生效时间 四.强制下次登录成功时修改密码 五.历史命令 六.终端自动注销 七.wheel组 八.grub菜单密码 一.系统安全 原因:1.系统数据想要保护 ...

  2. Python asyncio之协程学习总结

    实践环境 Python 3.6.2 什么是协程 协程(Coroutine)一种电脑程序组件,该程序组件通过允许暂停和恢复任务,为非抢占式多任务生成子程序.协程也可以简单理解为协作的程序,通过协同多任务 ...

  3. 有JSDoc还需要TypeScript吗

    这听起来是不是很耳熟:你想写一个小型脚本,不管是为页面.命令行工具,还是其他什么类型.你从JavaScript开始,直到你想起写代码时没有类型是多么痛苦.所以你把文件从.js重命名为.ts.然后意识到 ...

  4. 6. SpringMVC的视图

    SpringMVC 中的视图是 View 接口,视图的作用渲染数据,将模型 Model 中的数据展示给用户 SpringMVC 视图的种类很多,默认有转发视图和重定向视图 当工程引入 jstl 的依赖 ...

  5. 一文读懂什么是AIGC?

    目录 AIGC概念 AIGC发展历史 在早期萌芽阶段(1950s~1990s) 在沉淀累积阶段(1990s~2010s) 在快速发展阶段(2010s~至今) ChatGPT AIGC能做什么? 电子商 ...

  6. C++面试八股文:什么是构造函数?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第29面: 面试官:什么是构造函数? 二师兄:构造函数是一种特殊的成员函数,用于创建和初始化类的对象.构造函数的名称与类的名称相同,并且没有返回类型. ...

  7. redis集群报错:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk.

    之前在x86架构的服务器部署redis集群,未遇到题中问题:然而在ARM架构的服务器部署redis集群,第一次遇到如此问题.虽然问题已经解决,但不清楚问题的具体原因,在此做个记录. 性能测试过程中,通 ...

  8. 前端:Uncaught TypeError: Cannot set property 'value' of null;

    1.在写JS代码中的绑定事件时(将JS与HTML标签分开时),发现会有如下错误提示: Uncaught TypeError: Cannot set property 'onclick' of null ...

  9. mac shell终端命令行快捷键

    Ctrl + d 删除一个字符,相当于通常的Delete键(命令行若无所有字符,则相当于exit:处理多行标准输入时也表示eof) Ctrl + h 退格删除一个字符,相当于通常的Backspace键 ...

  10. Hugging News #0710: 体验 MusicGen、Diffusers 库发布一周年、我们的内容政策更新

    每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...