用WebCollector爬取网站的图片

用WebCollector爬取整站图片,只需要遍历整站页面,然后将URL为.jpg、gif的页面(文件)保存到本地即可。

例如我们爬取一个美食网站,获取里面所有的图片:

import cn.edu.hfut.dmic.webcollector.crawler.BreadthCrawler;
import cn.edu.hfut.dmic.webcollector.model.Page;
import cn.edu.hfut.dmic.webcollector.util.FileUtils;

import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.regex.Pattern;

/**
 * 用WebCollector爬虫爬取整站图片
 */
public class PicCrawler extends BreadthCrawler{

    /*用一个整数,不断自增,来作为下载的图片的文件名*/
    AtomicInteger id=new AtomicInteger(0);

    @Override
    public void visit(Page page) {

        /*不处理非jpg的网页/文件*/
        if(!Pattern.matches(".*jpg$",page.getUrl())){
            return;
        }
        /*将图片内容保存到文件,page.getContent()获取的是文件的byte数组*/
        try {
            FileUtils.writeFileWithParent("download/"+id.incrementAndGet()+".jpg",page.getContent());
            System.out.println("download:"+page.getUrl());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws Exception {
        PicCrawler crawler=new PicCrawler();
        crawler.addSeed("http://www.meishij.net/");
        crawler.addRegex("http://.*meishij.net/.*");
        crawler.setThreads(50);
        crawler.start(10);
    }
}

代码将网站图片保存到了工程下面的download文件夹中:

WebCollector爬虫官网:https://github.com/CrawlScript/WebCollector

WebCollector文档:http://www.brieftools.info/document/webcollector/

技术讨论群:250108697

时间: 2024-10-26 21:13:02

用WebCollector爬取网站的图片的相关文章

python爬取网站美女图片

今天周五,项目刚刚上线完,有些时间,闲着无聊,继续复习爬虫,这次打算爬取网站的美女图片.得先找到目标,然后目标网站还不会反爬虫,因为自己只是小白,好了开始. 寻找目标,发现了目标,哈哈 http://www.meizitu.com 里面图片按专题分类.先看下页面找出相关源码 页面 源码 即只要抓出来图片集的link跟图片集里面的link对应的jpg就可以了, 可以用beautifulsoup或者正则匹配,我这里用正则匹配需要的link.然后遍历整个网站就可以了 请看源码解释 #!bin/pyth

Python爬虫——爬取网站的图片

爬虫这东西最早出现在我大学计算机网络的课程上面,我们当时的老师人很好,期末不笔试,他说这东西笔试没什么用,对于一个年纪比较大的老师来讲,能提出这种方式,实在难得.当时在考虑做一个与网络有关的东西好,第一个想到的就是爬虫.想想也没想过用Java写过这种东西,所以当时是一般看一本爬虫的书一边敲代码,现在想起来有很多东西是没有想明白的--我当时爬的是刘末鹏的博客,把全部文章用分类爬了下来,在本地可以打开. 后面老师评价的时候就说,你这个只能爬这个,其实你应该让他智能些,让他可以爬图片,可以爬特定的内容

简单的爬取并下载图片的程序

闲来无事就编写了一个爬取美女图片并下载的爬虫.看好多爬虫都是爬妹子图的我就写编写了一个爬取妹子图网站上的图片. 需求:将妹子图网站上的首页到73页正文中的妹子图片爬取下来并保存在当前目录下 思路:通过查看网站的源代码发现,网站展示的图片都是有html链接的,每个图片都会链接到新的网址,来展示一个美女的多张图片.于是,需要先将以及界面的链接爬取出来,然后进入二级界面开始爬取并下载图片. 程序效果:通过简单的一个程序实现了图片的下载,在连续爬取了一个小时左右的时间爬取了大概有1000张图片.  遇到

Python 爬取堆糖图片

1 import requests,json,urllib.parse 2 import threading 3 threading_lock=threading.BoundedSemaphore(value=10)#设置最大线程 4 5 def get_page(url): 6 page=requests.get(url) 7 page=page.content 8 page=page.decode('utf-8') 9 return page 10 11 def pages_from_dui

利用linux curl爬取网站数据

看到一个看球网站的以下截图红色框数据,想爬取下来,通常爬取网站数据一般都会从java或者python爬取,但本人这两个都不会,只会shell脚本,于是硬着头皮试一下用shell爬取,方法很笨重,但旨在结果嘛,呵呵. 2.首先利用curl工具后者wget工具把整个网站数据爬取下来 curl 网址 >wangzhan.txt 3.查看wangzhan.txt文件,找出规则,看到数据是存放在哪个地方,本人是把txt文件拷到本机上用UE打开方便查看.通过查看文件,我发现数据是存储在"var aut

使用scrapy爬取网站的商品数据

目标是爬取网站http://www.muyingzhijia.com/上全部的商品数据信息,包括商品的一级类别,二级类别,商品title,品牌,价格. 搜索了一下,python的scrapy是一个不错的爬虫框架,于是基于scrapy写了一个简易的爬虫. 先分析商品页面,在http://www.muyingzhijia.com/主页面上,有类链接有用的链接,即:http://www.muyingzhijia.com/Shopping/category.aspx?cateID=11和http://w

【python爬虫】根据查询词爬取网站返回结果

最近在做语义方面的问题,需要反义词.就在网上找反义词大全之类的,但是大多不全,没有我想要的.然后就找相关的网站,发现了http://fanyici.xpcha.com/5f7x868lizu.html,还行能把"老师"-"学生","医生"-"病人"这样对立关系的反义词查出来. 一开始我想把网站中数据库中存在的所有的词语都爬出来(暗网爬虫),但是分析了url的特点: http://fanyici.xpcha.com/5f7x86

第一个nodejs爬虫:爬取豆瓣电影图片

第一个nodejs爬虫:爬取豆瓣电影图片存入本地: 首先在命令行下 npm install request cheerio express -save; 代码: var http = require('https'); //使用https模块 var fs = require('fs');//文件读写 var cheerio = require('cheerio');//jquery写法获取所得页面dom元素 var request = require('request');//发送reques

二毛解读:百度蜘蛛每天都来爬取网站,却只收录首页是怎么回事?

昨夜,一位SEO友人问我一个这样的问题:百度蜘蛛每天都来爬取网站,却只收录首页,文章页及其他页面均未收录,问我是怎么回事? 其实这个问题非常普遍,可以从两个方面分析: 1. 网站内部优化是否完善: 2. 时间问题(文章够原创,站内优化够完善,迟早会收录). 我们主要来谈谈第一个问题:网站内部优化. 其实SEO是什么?SEO不是单纯的迎合百度及其他搜索引擎,他是时刻随用户的体验度来考量网站是否合适.在当今的互联网大环境下,暂时还是随着大多数用户的习惯性体验来对你的网站进行抓取,拍照,索引.网站优化