[python] 第一个爬虫, 爬妹子写真集图片
效果图
版本以及需要用到的第三方库
- 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] 第一个爬虫, 爬妹子写真集图片的更多相关文章
- python简单小爬虫爬取易车网图片
上代码: import requests,urllib.request from bs4 import BeautifulSoup url = 'http://photo.bitauto.com/' ...
- python爬虫-爬取百度图片
python爬虫-爬取百度图片(转) #!/usr/bin/python# coding=utf-8# 作者 :Y0010026# 创建时间 :2018/12/16 16:16# 文件 :spider ...
- node:爬虫爬取网页图片
代码地址如下:http://www.demodashi.com/demo/13845.html 前言 周末自己在家闲着没事,刷着微信,玩着手机,发现自己的微信头像该换了,就去网上找了一下头像,看着图片 ...
- Python项目之我的第一个爬虫----爬取豆瓣图书网,统计图书数量
今天,花了一个晚上的时间边学边做,搞出了我的第一个爬虫.学习Python有两个月了,期间断断续续,但是始终放弃,今天搞了一个小项目,有种丰收的喜悦.废话不说了,直接附上我的全部代码. # -*- co ...
- erlang 爬虫——爬取网页图片
说起爬虫,大家第一印象就是想到了python来做爬虫.其实,服务端语言好些都可以来实现这个东东. 在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌 ...
- Python编写网页爬虫爬取oj上的代码信息
OJ升级,代码可能会丢失. 所以要事先备份. 一開始傻傻的复制粘贴, 后来实在不能忍, 得益于大潇的启示和聪神的原始代码, 网页爬虫走起! 已经有段时间没看Python, 这次网页爬虫的原始代码是 p ...
- 用python写一个爬虫——爬取性感小姐姐
忍着鼻血写代码 今天写一个简单的网上爬虫,爬取一个叫妹子图的网站里面所有妹子的图片. 然后试着先爬取了三页,大概有七百多张图片吧!各个诱人的很,有兴趣的同学可以一起来爬一下,大佬级程序员勿喷,简单爬虫 ...
- Python写爬虫爬妹子
最近学完Python,写了几个爬虫练练手,网上的教程有很多,但是有的已经不能爬了,主要是网站经常改,可是爬虫还是有通用的思路的,即下载数据.解析数据.保存数据.下面一一来讲. 1.下载数据 首先打 ...
- Python多线程爬虫爬取网页图片
临近期末考试,但是根本不想复习!啊啊啊啊啊啊啊!!!! 于是做了一个爬虫,网址为 https://yande.re,网页图片为动漫美图(图片带点颜色........宅男福利 github项目地址为:h ...
- Python爬虫爬取网页图片
没想到python是如此强大,令人着迷,以前看见图片总是一张一张复制粘贴,现在好了,学会python就可以用程序将一张张图片,保存下来. 今天逛贴吧看见好多美图,可是图片有点多,不想一张一张地复制粘贴 ...
随机推荐
- 有JSDoc还需要TypeScript吗
这听起来是不是很耳熟:你想写一个小型脚本,不管是为页面.命令行工具,还是其他什么类型.你从JavaScript开始,直到你想起写代码时没有类型是多么痛苦.所以你把文件从.js重命名为.ts.然后意识到 ...
- 图扑虚拟现实 VR 智慧办公室可视化
前言 "虚拟现实"是来自英文"Virtual Reality",简称 VR 技术,其是通过利用计算机仿真系统模拟外界环境,主要模拟对象有环境.技能.传感设备和感 ...
- 开源超全Lotus Domino Xpages 开发资料,Domino最新资料,lotus资料,xpages资料,Domino开源信息下载
十年Domino资料,不断累积,精彩展示,从维护到开发,从CS到BS再变xpage,都是一步步过来,让Domino后台数据在在多个平台绽放 把这些开发技术文档分享出来,希望通过这个资料,为大家学习开发 ...
- JVM监控工具jstat使用介绍
jstat 是 Java 自带的一个命令行工具,用于监控 JVM 运行时的状态信息.它可以通过以下格式的命令来调用: jstat [option] <vmid> [<interval ...
- C++容器(vector、deque、list、map)
(1) vector:将元素置于一个动态数组中,可以随机存储元素(也就是用索引直接存取). 数组尾部添加或删除元素非常迅速.但在中部或头部就比较费时. *代码演示:* 取: at在下标越界时会抛出异常 ...
- 计算机网络那些事之 MTU 篇
哈喽大家好,我是咸鱼 今天我们来聊聊计算机网络中的 MTU (Maximum Transmission Unit) 什么是 MTU ? MTU(Maximum Transmission Unit)是指 ...
- SQL SERVER 拼接字符串转化为表结构数据
本文为一些需要对特殊符号分隔的字符串进行解析,比如将 select '10,20,30,40,50,60' 这个字符串转化为一列多行 下面提供源代码: 1 SET QUOTED_IDENTIFIER ...
- Mysql基础篇(四)之事务
一. 事务简介 事务是一组操作的集合,它是一个不可分隔的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败. 就比如:张三给李四转账1000块钱 ...
- 如何构建高效、可观的系统「GitHub 热点速览」
经典老项目 system-design 教你如何设计一个健壮的系统,新项目 noodle 教你如何提升教育效率,而后者甚至单日获得了 1,600 star,刚开源就获得了 6k+ 的 star. 除了 ...
- 浅谈REFS文件系统数据恢复研发经历(1)
作为80后技术员, 我一直很喜欢李玟, 是我们那个时代的偶像, 一直也很喜欢听他的歌, 看到她的噩耗, 还是很那么的无法理解, 一个那么好的人怎么会得抑郁症呢, 心里多少还是无法接受. 不过联想到自己 ...