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

    xiaoxiao2021-12-14  18

    基于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/bash g1="cutycapt --url=" g2=" --out=" g3=".png" cat qsbk.txt | while read line do g=${g1}$line${g2}$RANDOM${g3} eval $g done

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

    chmod +x getqsbk.sh

    执行

    ./getqsbk.sh
    转载请注明原文地址: https://ju.6miu.com/read-964197.html

    最新回复(0)