真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java如何寫網(wǎng)絡(luò)爬蟲

小編給大家分享一下java如何寫網(wǎng)絡(luò)爬蟲,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

為任縣等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及任縣網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站制作、任縣網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

  網(wǎng)絡(luò)爬蟲

網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機(jī)器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者),是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本。

java如何寫網(wǎng)絡(luò)爬蟲

聚焦爬蟲工作原理以及關(guān)鍵技術(shù)概述

網(wǎng)絡(luò)爬蟲是一個自動提取網(wǎng)頁的程序,它為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成。傳統(tǒng)爬蟲從一個或若干初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在抓取網(wǎng)頁的過程中,不斷從當(dāng)前頁面上抽取新的URL放入隊(duì)列,直到滿足系統(tǒng)的一定停止條件。聚焦爬蟲的工作流程較為復(fù)雜,需要根據(jù)一定的網(wǎng)頁分析算法過濾與主題無關(guān)的鏈接,保留有用的鏈接并將其放入等待抓取的URL隊(duì)列。然后,它將根據(jù)一定的搜索策略從隊(duì)列中選擇下一步要抓取的網(wǎng)頁URL,并重復(fù)上述過程,直到達(dá)到系統(tǒng)的某一條件時停止。另外,所有被爬蟲抓取的網(wǎng)頁將會被系統(tǒng)存貯,進(jìn)行一定的分析、過濾,并建立索引,以便之后的查詢和檢索;對于聚焦爬蟲來說,這一過程所得到的分析結(jié)果還可能對以后的抓取過程給出反饋和指導(dǎo)。

相對于通用網(wǎng)絡(luò)爬蟲,聚焦爬蟲還需要解決三個主要問題:

(1) 對抓取目標(biāo)的描述或定義;

(2) 對網(wǎng)頁或數(shù)據(jù)的分析與過濾;

(3) 對URL的搜索策略。

網(wǎng)絡(luò)爬蟲的實(shí)現(xiàn)原理

根據(jù)這種原理,寫一個簡單的網(wǎng)絡(luò)爬蟲程序 ,該程序?qū)崿F(xiàn)的功能是獲取網(wǎng)站發(fā)回的數(shù)據(jù),并提取之中的網(wǎng)址,獲取的網(wǎng)址我們存放在一個文件夾中。除了提取網(wǎng)址,我們還可以提取其他各種我們想要的信息,只要修改過濾數(shù)據(jù)的表達(dá)式則可以。

以下是利用Java模擬的一個程序,提取新浪頁面上的鏈接,存放在一個文件里

源代碼如下:

package com.cellstrain.icell.util;

import java.io.*;
import java.net.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * java實(shí)現(xiàn)爬蟲
 */
public class Robot {
    public static void main(String[] args) {
        URL url = null;
        URLConnection urlconn = null;
        BufferedReader br = null;
        PrintWriter pw = null;
//        String regex = "http://[\\w+\\.?/?]+\\.[A-Za-z]+";
        String regex = "https://[\\w+\\.?/?]+\\.[A-Za-z]+";//url匹配規(guī)則
        Pattern p = Pattern.compile(regex);
        try {
            url = new URL("https://www.rndsystems.com/cn");//爬取的網(wǎng)址、這里爬取的是一個生物網(wǎng)站
            urlconn = url.openConnection();
            pw = new PrintWriter(new FileWriter("D:/SiteURL.txt"), true);//將爬取到的鏈接放到D盤的SiteURL文件中
            br = new BufferedReader(new InputStreamReader(
                    urlconn.getInputStream()));
            String buf = null;
            while ((buf = br.readLine()) != null) {
                Matcher buf_m = p.matcher(buf);
                while (buf_m.find()) {
                    pw.println(buf_m.group());
                }
            }
            System.out.println("爬取成功^_^");
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            pw.close();
        }
    }
}

以上是java如何寫網(wǎng)絡(luò)爬蟲的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站題目:java如何寫網(wǎng)絡(luò)爬蟲
本文地址:http://weahome.cn/article/iegcpe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部