5.1 网络数据文本存储

在网络爬虫中,经常需要读取数据和写入数据。例如,将存储在txt文档中的待采集URL列表读入程序;将采集的图片、PDF和压缩包等文件写入指定目录。这些操作,都依赖于输入流和输出流。
本专栏主要以介绍网络爬虫技术为主,因而,本小节不再详细介绍输入流和输出流,仅以程序5-1,来演示将采集到的URL存储到txt文件中,代码示例如下。

//程序5-1
public class TxtStorage {
    public static void main(String[] args) throws IOException {
        //设置路径
        String file = "/Users/steven/Documents/代码/project/spider/src/main/java/com/topicBet/test.txt";
        RandomAccessFile rf = new RandomAccessFile(file, "rw");
        //通过Jsoup创建和url的连接
        Connection connection = Jsoup.connect("https://searchcustomerexperience.techtarget.com/info/news");
        //获取网页的Document对象
        Document document = connection.get();
        Elements aList = document.getElementsByTag("a");
        if(aList.size()>0){
            for(int i = 0;i < aList.size();i++){
                Element a = aList.get(i);
                if(a != null){
                    String url = a.attr("href");
                    if(url.contains("http")) {
                        rf.seek(rf.length());
                        rf.write((url + "\n").getBytes());
                    }
                }
            }
        }
        //关闭文件流
        rf.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值