代码: 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