测试开发Python培训:实现屌丝的图片收藏愿望(小插曲)
测试开发Python培训:实现屌丝的图片收藏愿望(小插曲)
男学员在学习python的自动化过程中对于爬虫很感兴趣,有些学员就想能收藏一些图片,供自己欣赏。作为讲师只能是满足愿望,帮助大家实现对美的追求,http://wanimal.lofter.com/?page=1,~_~
第一步:分析请求页面
我们在上课的时候教给大家firefox,来分析请求页的html源代码,我们请求页面发现规律页面是http://wanimal.lofter.com/?page=2,只要替换掉数字2,变成数字就可以翻页,然后每一个页面里的图片地址发现规律如下
第二步:实现
import requests#首先importrequests和shutils
import shutil
from bs4 import BeautifulSoup#再import我们刚才说的BS
def download(page):#这个函数用来寻找,下载,保存图片
url = "http://wanimal.lofter.com?page=%d" % page#这里是写好目标地址的url并方便后边循环page(把所有页面都下载了)
html = requests.get(url).content#这里是通过requests来获得整个网页的源代码并整理
photos = BeautifulSoup(html).find_all(class_="imgwrapper")#用BeautifulSoup解析html,然后使用BS自带的函数,找到所有class为imgwrapper的项存在一个list里面
for photo in photos:
img_url = photo.img["src"]#这里是获得上面每一条里面的img(有这个方法)的“src”里存储的字符串(也就是图片的真实地址)
# print photo, img_url
img_filename = "img/" + img_url.split("/")[-1]#使用切片工具切出每一个文件名
img = requests.get(img_url, stream=True)#保存了
if requests.get(img_url).status_code == 200:
with open(img_filename, 'wb') as f:
shutil.copyfileobj(img.raw, f)
print img_filename,"saved."#完成了叫一声
if __name__ == '__main__':
for page in xrange(1,33):
download(page)
原文链接:http://www.cnblogs.com/laoli0201
测试开发Python培训:实现屌丝的图片收藏愿望(小插曲)的更多相关文章
- 测试开发Python培训:抓取新浪微博评论提取目标数据-技术篇
测试开发Python培训:抓取新浪微博评论提取目标数据-技术篇 在前面我分享了几个新浪微博的自动化脚本的实现,下面我们继续实现新的需求,功能需求如下: 1,登陆微博 2,抓取评论页内容3,用正则表 ...
- 测试开发Python培训:模拟登录新浪微博-技术篇
测试开发Python培训:模拟登录新浪微博-技术篇 一般一个初学者项目的起点就是登陆功能的自动化,而面临的项目不同实现的技术难度是不一样的,poptest在做测试开发培训中更加关注技术难点,掌握技 ...
- 测试开发Python培训:抓取新浪微博抓取数据-技术篇
测试开发Python培训:抓取新浪微博抓取数据-技术篇 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的se ...
- 测试开发Python培训:自动发布新浪微博-技术篇
测试开发Python培训:自动发布新浪微博-技术篇 在前面我们教大家如何登陆,大家需要先看自动登陆新浪微博(http://www.cnblogs.com/laoli0201/articles/48 ...
- 测试开发Python培训:实现屌丝的黄色图片收藏愿望(小插曲)
男学员在学习python的自动化过程中对于爬虫很感兴趣,有些学员就想能收藏一些情色图片,供自己欣赏.作为讲师只能是满足愿望,帮助大家实现对美的追求,http://wanimal.lofter.com/ ...
- 《自动化平台测试开发-Python测试开发实战》新书出版了
首先 第一本书,当初在百度阅读初步写了个电子版,刚一上线不久即收到了数百位读者朋友阅读收藏购买,于是顺利成章就出版了纸质书. <软件自动化测试开发>认真看过的读者应该都知道,介绍的主要是自 ...
- 《自动化平台测试开发-Python测试开发实战》第2次印刷
书籍货源比较紧张.紧张啊,如此短的时间,已经第2次印刷.第2次印刷. 第2次印刷. 同时该书已确认与台湾出版社合作翻译成繁体版,甚至有可能与国外出版社合作翻译成英文版. 2018年7月 第1次印刷 2 ...
- Python Twisted系列教程9:第二个小插曲,Deferred
作者:dave@http://krondo.com/a-second-interlude-deferred/ 译者:杨晓伟(采用意译) 可以从这里从头来阅读这个系列 更多关于回调的知识 稍微停下来再思 ...
- 曾Python培训讲师-2年Python开发无包装简历-20191217-可公开
目录 个人介绍 技能介绍 项目经历 自我评价 简历非完整版,需要完整版看下述信息,禁止任何一切私人用途.转发 我生日是27号,那就27元一份,有需求的来购买!只会涨价不会降价,大概卖10份涨1元:曾P ...
随机推荐
- img图片标签alt和title属性的区别
alt 用于图片没显示图片显示区域显示说明文字title 表示鼠标图片停留显示悬浮框其显示文字
- WDCP下安装PHPWind
创建整站跟新建站点的区别是创建整站会一并生成ftp跟mysql数据库 这边只要填写一个域名(如果你有域名就填写下域名 如果你没有域名 或者跟我一样到这步去申请域名的可以填写ECS公网ip否则无法访问新 ...
- 浅谈iOS程序员的成长和进阶
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- PHP会话控制Session与Cookie
理解会话控制的概念: 阅读过HTTP协议相关资料的同学都会知道HTTP协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无状态协议,所谓无状态,指的是不会维护http请求数据,http请求是 ...
- Overlay网络技术之vxvlan
了解云计算数据中心网络架构的过程中,看到这么一篇不错的关于大二层技术overlay的文章,转载分享给大家! 一. 传统网络面临的问题 随着企业业务的快速扩展需求,IT做为基础设施,快速部署和减少投入成 ...
- java 完全二叉树的构建与四种遍历方法
本来就是基础知识,不能丢的太干净,今天竟然花了那么长的时间才写出来,记一下. 有如下的一颗完全二叉树: 先序遍历结果应该为:1 2 4 5 3 6 7 中序遍历结果应该为:4 2 5 ...
- DOM基础(四)
每次写DOM的时候,就觉得好像没什么好写,因为涉及到知识点的方面的确不多,对于DOM来说,更多的还是练习为主.在练习的时候,最好能结合着js基础语法的知识点来学习.这样,在学习DOM的时候就不会那么枯 ...
- PHP解耦的三重境界(浅谈服务容器)
阅读本文之前你需要掌握:PHP语法,面向对象 在完成整个软件项目开发的过程中,有时需要多人合作,有时也可以自己独立完成,不管是哪一种,随着代码量上升,写着写着就"失控"了,渐渐&q ...
- [读书系列] 深度探索C++对象模型 初读
2012年底-2014年初这段时间主要用C++做手游开发,时隔3年,重新拿起<深度探索C++对象模型>这本书,感觉生疏了很多,如果按前阵子的生疏度来说,现在不借助Visual Studio ...
- CentOS 安装mysql-5.7.10(glibc版)
注:所有shell命令都以root用户执行. 一.下载 shell> cd /home/user/Downloads shell> wget http://mirrors.sohu.com ...