码迷,mamicode.com
首页 > 编程语言 > 详细

测试开发Python培训:实现屌丝的黄色图片收藏愿望(小插曲)

时间:2015-10-15 01:00:26      阅读:402      评论:0      收藏:0      [点我收藏+]

标签:

男学员在学习python的自动化过程中对于爬虫很感兴趣,有些学员就想能收藏一些情色图片,供自己欣赏。作为讲师只能是满足愿望,帮助大家实现对美的追求,http://wanimal.lofter.com/?page=1,~_~

第一步:分析请求页面

我们在上课的时候教给大家firefox,来分析请求页的html源代码,我们请求页面发现规律页面是http://wanimal.lofter.com/?page=2,只要替换掉数字2,变成数字就可以翻页,然后每一个页面里的图片地址发现规律如下
<span style="font-family:Microsoft YaHei;font-size:18px;"><div class="imgwrapper">
        <a href="http://wanimal.lofter.com/post/17d0d7_2d2beb5">
        <img src="http://imglf2.ph.126.net/fcnHKZzj5EZWYUde3aSSCQ==/6619502002886359949.jpg" style="">
        </a>
   </div></span>

第二步:实现

 

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)</span>

 

测试开发Python培训:实现屌丝的黄色图片收藏愿望(小插曲)

标签:

原文地址:http://www.cnblogs.com/laoli0201/p/4881202.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!