beautiful Soup实现抓取图片素材

用Python写了一个简单的爬虫,实现抓取图片素材,源代码可以查看我的GitHub:https://github.com/corolcorona/spider_demo

 

1.抓取图片链接:http://sc.chinaz.com/tupian/fengyetupian.html

选择查看源代码,需要注意的是图片路径,也就是我们要抓取的内容,可以看到每个div标签下包含一个图片,alt是图片的描述,src2为图片的路径

 

2.新建一个Python项目

首先我用的环境是Mac,关于Mac下怎样新建一个Python项目,可以参考:http://www.cnblogs.com/corolcorona/p/6678197.html

 

3.安装Python库

有用到2个库,1个是urllib2(不需要安装)用于抓取URL,1个是BeautifulSoup,用于解析抓取下来的HTML

关于安装BeautifulSoup,可以参考:http://www.cnblogs.com/corolcorona/p/6667698.html

 

4.写代码

 

import urllib2
import urllib
import os
from BeautifulSoup import BeautifulSoup
def getAllImageLink():
    html = urllib2.urlopen('http://sc.chinaz.com/tupian/fengyetupian.html').read()
    soup = BeautifulSoup(html)

    liResult = soup.findAll('div',attrs={"class":"box picblock col3"})
    print len(liResult)

    for li in liResult:
        imageEntityArray = li.findAll('img')
        for image in imageEntityArray:
            link = image.get('src2')
            imageName = image.get('alt')
            filesavepath = '/Users/corolcorona/desktop/picture/%s.jpg' % imageName
            urllib.urlretrieve(link,filesavepath)


if __name__ == '__main__':
    getAllImageLink()

 

urllib2.urlopen方法抓取了网页的HTML

BeautifulSoup.findAll方法解析了抓取下来的HTML

urllib.urlretrieve方法保存到指定路径

 

5.可以增加一个循环抓取下一页的数据

转载于:https://www.cnblogs.com/corolcorona/p/6721983.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值