[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就可以用程序将一张张图片,保存下来. 今天逛贴吧看见好多美图,可是图片有点多,不想一张一张地复制粘贴 ...
随机推荐
- 代码随想录算法训练营Day30 回溯算法| 332.重新安排行程 51. N皇后 37. 解数独 总结
代码随想录算法训练营 332.重新安排行程 题目链接:332.重新安排行程 给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划 ...
- Odoo-----计算字段、depnds,onchange 机制、模型约束
1 计算字段和默认值问题 字段通过调用模型的方法的实时计算获得,一般都是 compute 属性为主的方法,这个计算方法通过计算self每条记录设置的的值,self 是一个有记录的有序集合,支持py ...
- 解决log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory). log4j:WARN Please initialize the log4j system properly.警告
1. 问题分析 使用log4j时不起作用,因为找不到配置文件log4j.properties,存在的问题可能是没有配置log4j.properties文件,也可能是配置文件log4j.properti ...
- 1. Spring 简介
1. Spring 概述 官网地址:https://spring.io/ Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框 ...
- Python读取本地文件时出现错误UnicodeDecodeError
Python读取本地文件时出现错误UnicodeDecodeError: 'gbk' codec can't decode byte 0x94 in position 5702: illegal mu ...
- 【.Net/C#之ChatGPT开发系列】四、ChatGPT多KEY动态轮询,自动删除无效KEY
ChatGPT是一种基于Token数量计费的语言模型,它可以生成高质量的文本.然而,每个新账号只有一个有限的初始配额,用完后就需要付费才能继续使用.为此,我们可能存在使用多KEY的情况,并在每个KEY ...
- SQL专家云回溯某时间段内的阻塞
背景 SQL专家云像"摄像头"一样,对环境.参数配置.服务器性能指标.活动会话.慢语句.磁盘空间.数据库文件.索引.作业.日志等几十个运行指标进行不同频率的实时采集,保存到SQL专 ...
- 一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路
市面上有很多可以被用于AI绘画的应用,例如DALL-E.Midjourney.NovelAI等,他们的大部分都依托云端服务器运行,一部分还需要支付会员费用来购买更多出图的额度.在2022年8月,一款叫 ...
- Qt源码阅读(五)-deleteLater
Qt deleteLater作用及源码分析 个人经验总结,如有错误或遗漏,欢迎各位大佬指正 在本篇文章中,我们将深入分析源码,探讨deleteLater的原理. deleteLater是Qt框架提供的 ...
- unity协程(IEnumerator)开始和结束
快速阅览: 一.结束协程无效:协程方法需要单独存一份地址,在开始和结束不直接传入方法名,而是使用这份保存的地址进行开始和结束. 二.再次开启协程时少跑了几行代码:再次开始同一个方法名的协程时,不是从第 ...