您的位置:首页 > 运维架构 > Shell

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

2016-12-02 15:16 736 查看

基于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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java爬虫
相关文章推荐