基于WebCollector的java爬虫(二)配合shell+cutycapt抓取糗事百科页面生成图片

来源:互联网 发布:陕西乡土文化数据 编辑:程序博客网 时间:2024/05/29 13:47

基于WebCollector的java爬虫(二)配合shell+cutycapt抓取糗事百科页面生成图片

代码:
https://code.csdn.net/u012995856/javacrawler/tree/master

效果:
这里写图片描述

这里写图片描述

1.使用WebCollector抓取糗百的url
QiuShiBaiKe.java

package com.huijiasoft.pangPython.crawler;import java.util.ArrayList;import java.util.List;import com.huijiasoft.pangPython.utils.AppendToTXT;import cn.edu.hfut.dmic.webcollector.model.CrawlDatums;import cn.edu.hfut.dmic.webcollector.model.Page;import cn.edu.hfut.dmic.webcollector.plugin.berkeley.BreadthCrawler;/** * @author pangPython * @function 抓取糗事百科网页URL */public class QiuShiBaiKe extends BreadthCrawler{    static List<String> list = new ArrayList<String>();    public QiuShiBaiKe(String crawlPath, boolean autoParse) {        super(crawlPath, autoParse);        addSeed("http://www.qiushibaike.com");        addRegex("http://www.qiushibaike.com/\\w*/");        addRegex("http://www.qiushibaike.com/\\w+/\\d+/");        addRegex("http://www.qiushibaike.com/\\w+/\\w+/\\w+/\\w+/");        addRegex("http://www.qiushibaike.com/\\w+/\\w+/\\d*/?\\w*");    }    @Override    public void visit(Page page, CrawlDatums arg1) {        String url = page.getUrl();        System.out.println(url);        list.add(url);    }    public static void main(String[] args) throws Exception {        QiuShiBaiKe qsbk = new QiuShiBaiKe("qsbk", true);        qsbk.setThreads(50);        qsbk.setTopN(5000);        qsbk.start(6);        AppendToTXT.ToTXT("qsbk.txt", list);    }}

2.使用shell脚本
思路:按行读取抓取的txt文本,拼接成命令行字符串,使用eval执行字符串命令

这里使用一个工具cutycapt
使用

cutycapt -url=https://www.baidu.com -out=1.png

需要替换的就是url,然后图片名称用随机数来生成文件名.
这里写图片描述

getqsbk.sh

#!/bin/bashg1="cutycapt --url="g2=" --out="g3=".png"cat qsbk.txt | while read linedo                g=${g1}$line${g2}$RANDOM${g3}            eval $gdone

这段shell脚本需要在有GUI界面的linux系统中运行.
赋予可执行权限

chmod +x getqsbk.sh

执行

./getqsbk.sh
0 0
原创粉丝点击