freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于廣度優(yōu)先算法的多線程網(wǎng)絡(luò)爬蟲畢業(yè)設(shè)計(jì)(留存版)

2024-09-07 14:07上一頁面

下一頁面
  

【正文】 ecifically informations from some web sites, such as HR informations, house rent informations. In this paper, use JAVA implements a breadthfirst algorithm multithread SPDIER. This paper expatiates some major problems of SPIDER: why to use multithreading, and how to implement multithread。通過網(wǎng)絡(luò)爬蟲不僅能夠?yàn)樗阉饕娌杉W(wǎng)絡(luò)信息,而且可以作為定向信息采集器,定向采集某些網(wǎng)站下的特定信息,如招聘信息,租房信息等。 Archie 是一 個(gè) 可搜索的 FTP 文件名列表,用 戶 必 須輸 入精確的文件名搜索,然后 Archie 會(huì) 告 訴 用 戶 哪一 個(gè) FTP 地址可以下 載該 文件。 當(dāng)時(shí) Michael Mauldin 將 John Leavitt 的蜘蛛程序接入到其索引程序 中, 創(chuàng)建了大 家現(xiàn) 在熟知的 Lycos( 20xx 年被西班牙網(wǎng) 絡(luò) 集 團(tuán) Terra Lycos Network 收 購 )。部分站 長為 了 讓 用 戶記 住登 陸 信息, 強(qiáng) 迫用 戶 使用 Cookies。 現(xiàn) 在它已 經(jīng)被 萬 維 網(wǎng) 聯(lián)盟編 制 為因 特網(wǎng) 標(biāo) 準(zhǔn) RFC1738 了。 URL 相當(dāng)于一個(gè)文件名在網(wǎng)絡(luò)范圍的擴(kuò)展。正在傳輸?shù)念愋陀?ContentType 加以標(biāo)記。 TRACE 請求服務(wù)器回送收到的請求信息,主要用語測試或診斷。 401 Unauthonzed 請求未經(jīng)授權(quán)。順序程序都有開始、執(zhí)行序列和結(jié)束 ,在程序執(zhí)行的任何時(shí)刻,只有一個(gè)執(zhí)行點(diǎn)。用戶接口可以更加吸引人,這樣比如用戶點(diǎn)擊了一個(gè)按鈕去觸發(fā)某些事件的處理,可以彈出一個(gè)進(jìn)度條來顯示處理的進(jìn)度。 Java 語言實(shí)現(xiàn)多線程編程的類和接口。 public static void yield() 使當(dāng)前執(zhí)行的線程暫停執(zhí)行,允許其它線程執(zhí)行。 } } 當(dāng)該語句執(zhí)行后 clockThread 就處于新建狀態(tài)。 } catch (InterruptedException e){} } 4. 阻塞狀態(tài) (Blocked) 線程運(yùn)行過程中,可能由于各種原因進(jìn)入阻塞狀態(tài)。線程調(diào)度程序根據(jù)調(diào)度策略來調(diào)度不同的線程,調(diào)用線程的 run 方法給已經(jīng)注冊的各個(gè)線程以執(zhí)行的機(jī)會(huì),被調(diào)度執(zhí)行的線程進(jìn)入運(yùn)行( Running)狀態(tài)。網(wǎng) 絡(luò)編 程中有 兩個(gè) 主要的 問題 ,一 個(gè) 是如何準(zhǔn)確的定位網(wǎng) 絡(luò) 上一臺(tái)或多臺(tái)主機(jī),另一 個(gè) 就是找到主機(jī)后如何可靠高效的 進(jìn) 行 數(shù) 據(jù) 傳輸 。 TCP 是一個(gè)面向連接的協(xié)議,為用戶進(jìn)程提供可靠的全雙工字節(jié)流。根據(jù)邏輯需要,可以進(jìn)行無限次的資料交換。 沈陽理工大學(xué)學(xué)士學(xué)位論文 19 按照前面的介紹,網(wǎng)絡(luò)通訊的方式有 TCP 和 UDP 兩種,其中 TCP 方式的網(wǎng)絡(luò)通訊是指在通訊的過程中保持連接,有點(diǎn)類似于打電話,只需要撥打一次號碼 (建立一次網(wǎng)絡(luò)連接 ),就可以多次通話 (多次傳輸數(shù)據(jù) )。 最后當(dāng)數(shù)據(jù)交換完成以后,關(guān)閉網(wǎng)絡(luò)連接,釋放網(wǎng)絡(luò)連接占用的系統(tǒng)端口和內(nèi)存等資源,完成網(wǎng)絡(luò)操作,示例代碼如 : ()。Eclipse 的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得 Eclipse 擁有其它功能相對固定的 IDE 軟件很難具有的靈活性。 沈陽理工大學(xué)學(xué)士學(xué)位論文 23 通常, Reader 所作的每 個(gè)讀 取 請 求都 會(huì)導(dǎo) 致 對 基 礎(chǔ) 字符或字 節(jié) 流 進(jìn) 行相 應(yīng) 的 讀 取 請 求。 此 處的 Connection 對象實(shí)際上是根據(jù) URL 的請求協(xié)議 (此處是 )生成的URLConnection 類的子類 HttpURLConnection, 故此處最好將其轉(zhuǎn)化為HttpURLConnection 類型的對象 ,以便用到 HttpURLConnection 更多的 API. 返回一個(gè) URLConnection 對象,它表示到 URL 所引用的遠(yuǎn)程對象的連接。 getHtmlText函數(shù): public static String getHtmlText(String strUrl, int timeout,String strEnCoding, String cookies, Proxy proxy) strUrl 網(wǎng)址字符串 timeout 超時(shí)設(shè)置 strEnCoding 網(wǎng)頁編碼 cookies 網(wǎng)頁 cookies Cookies是我們?yōu)g覽的網(wǎng)站傳輸?shù)接脩粲?jì)算機(jī)硬盤中的文本文件或內(nèi)存中的數(shù)據(jù),可以當(dāng)沈陽理工大學(xué)學(xué)士學(xué)位論文 24 作緩存來記,就是你第一次打開某網(wǎng)站然后關(guān)了在開一下相對第一次會(huì)快點(diǎn),因?yàn)榈谝淮蔚挠涗浽?COOKIES里儲(chǔ)存了,第二次在開那就直接可以調(diào)可它這樣就會(huì)快點(diǎn)! Proxy 代理設(shè)置 獲得網(wǎng)頁源代碼首先要獲得網(wǎng)頁鏈接: 將 String 類型的變量 strURL 轉(zhuǎn)換為 URL 類型: URL url = new URL(strUrl)。 FileReader 用于讀取字符流。 Eclipse 框架還可用來作為與軟件開發(fā)無關(guān)的其它應(yīng)用程序類型的基礎(chǔ),比如 內(nèi)容管理系統(tǒng) 。示例代碼如下: OutputStream os = ()。該包中既包含基礎(chǔ)的網(wǎng)絡(luò)編程類,也包含封裝后的專 門處理WEB 相關(guān)的處理類。在建立網(wǎng)絡(luò)連接時(shí)需要指定連接到的服務(wù)器 IP 地址和端口號。它使用32 位地址。 synchronized 關(guān)鍵詞實(shí)現(xiàn)的基本操作是把每個(gè)需要線程同步的部分定義為一個(gè)臨界區(qū),在臨界區(qū)中同一時(shí)刻只有一個(gè)線程被執(zhí)行。 while(i100){ i++。對多個(gè)處于就緒狀態(tài)的線程是由 Java 運(yùn)行時(shí)系統(tǒng)的線程調(diào)度程序 (thread scheduler)來調(diào)度的。其中, Running 狀態(tài)并非屬于 JAVA規(guī)范中定義的線程狀態(tài),也就是說,在 JAVA 規(guī)范中,并沒有將運(yùn)行 ( Running)狀態(tài)真正的設(shè)置為一個(gè)狀態(tài),它屬于可運(yùn)行狀態(tài)的一種。 public void run() 線程的線程體。可以形象的理解為 ,在一個(gè) JAVA 程序內(nèi)部虛擬了多臺(tái)計(jì)算機(jī),每臺(tái)計(jì)算機(jī)對應(yīng)一個(gè)線程,有自己的 CPU, 可以獲取所需的代碼和數(shù)據(jù),因此能獨(dú)立執(zhí)行任務(wù),相互間還可以共享代碼和數(shù)據(jù)。要使兩個(gè)循環(huán)同時(shí)執(zhí)行,需要編寫多線程的程序。 沈陽理工大學(xué)學(xué)士學(xué)位論文 10 作為單個(gè)順序控制流,線程必須在運(yùn)行的程序中得到自己運(yùn)行的資源,如必須有自己的執(zhí)行棧和程序計(jì)數(shù)器。 3xx: 復(fù)位向 — 要完成請求必須進(jìn)行更進(jìn)一步的操作。 HEAD 請求獲取由 RequestURI 所標(biāo)識(shí)的資源的響應(yīng)消息報(bào)頭。請求方法常用的有 GET、 HEAD、 POST。比較好的情況是邏輯結(jié)構(gòu)與前面的樹 型物理結(jié)構(gòu)相吻合。通 過實(shí)現(xiàn)此爬蟲程序可以定 點(diǎn) 搜集某一站 點(diǎn) 的 URLs,如果需要搜集其它信息,可以在解析 URLs的同 時(shí) ,解析 獲 取相 應(yīng) 信息 沈陽理工大學(xué)學(xué)士學(xué)位論文 4 2 總體設(shè)計(jì)方案 系 統(tǒng)設(shè)計(jì) 方案 本設(shè)計(jì)主要是通過在 eclipse 軟件環(huán)境中進(jìn)行 ,設(shè)計(jì)過程中 首先 服務(wù)器端 獲得網(wǎng)頁URL, URL 的獲得途徑有從客戶端獲得的已經(jīng)形成的 URL,和解析網(wǎng)站獲得的更新的URL 兩種途徑, 然后 根據(jù) URL 連接該網(wǎng)頁,獲取網(wǎng)頁源代碼, 獲取網(wǎng)頁源代碼中需要的網(wǎng)頁內(nèi)容,去除多余的標(biāo)簽,空格,最后形成 XML 文檔, 服務(wù)器端的還包含獲得 IP代理,因?yàn)榉磸?fù)解析同一個(gè)網(wǎng)站,網(wǎng)站的防火墻會(huì)讓本地 IP 無法訪問該網(wǎng)站,所以我們需要用到 IP 代理循環(huán)訪問網(wǎng)站解決這個(gè)問題,服務(wù)器端還可以閱本地文件的模塊,方便文件閱讀的 客戶端主要是過濾本地的文檔與服務(wù)器端進(jìn)行信息交互,傳送需要解析的 URL,獲得已經(jīng)解析的網(wǎng)頁源代碼 所形成的 XML 文檔 。與通用爬蟲 (general purpose web crawler)不同,聚焦爬蟲并不追求大的覆 蓋 ,而 將 目 標(biāo)定為 抓取與某一特定主 題內(nèi) 容相 關(guān)的 網(wǎng) 頁 , 為面 向主 題的 用 戶 查 詢 準(zhǔn) 備數(shù) 據(jù) 資 源。 直到一些 編 程者提出了 這樣 的 設(shè) 想,既然所有網(wǎng) 頁 都可能有 連 向其它網(wǎng)站的 鏈接 ,沈陽理工大學(xué)學(xué)士學(xué)位論文 2 那么 從 跟 蹤 一 個(gè) 網(wǎng)站的 鏈接開始 ,就有可能 檢索 整 個(gè) 互 聯(lián) 網(wǎng)。然而伴 隨 互 聯(lián) 網(wǎng)井 噴 性 的發(fā) 展,普通網(wǎng) 絡(luò) 用 戶 想找到自己所需的 數(shù)據(jù)簡 直如同在 數(shù) 據(jù)的海洋里 撈針 , 為滿 足大 眾 信 息檢索 需求的 專業(yè) 搜索網(wǎng)站便 應(yīng)運(yùn) 而生了。有時(shí)候單位內(nèi)部的員工,同學(xué),在沒有互聯(lián)網(wǎng)環(huán)境下或因 其他原因希望不用 INTERNET 就可以進(jìn)行信息交互,這樣開發(fā)局域網(wǎng)通信就有了必要 性。; Socket programming。與 Wanderer 相 對應(yīng) , Martin Kosher 于 1993 年 10 月 創(chuàng) 建了 ALIWEB,它是 Archie 的 HTTP 版本。 現(xiàn) 今,網(wǎng) 絡(luò) 爬蟲主要分 為通 用爬蟲和聚焦爬蟲 兩類 。 無休止的跳轉(zhuǎn)。這比較適合于小型的網(wǎng)站,因?yàn)槿绻辔募挤旁诟夸浵碌脑?,制作和維護(hù)起來比較麻煩。 HTML 是一種用于創(chuàng)建文文件的標(biāo)記語言,這些文文件包含到相關(guān)信息的鏈接。 例如: 目前支持 7 種請求方法: GET、 POST、 HEAD、 OPTIONS、 PUT、 DELETE和 TARCE。 狀態(tài)代碼的第一個(gè)數(shù)字定義了響應(yīng)的類別,后面兩位沒有具體的分類。 線程和進(jìn)程的相似之處在于,線程和運(yùn)行的程 序都是單個(gè)順序控制流。 j 100。 ,需要防止線程死鎖情況的發(fā)生。 public static void sleep(long millis) throws InterruptedException public static void sleep(long millis, int nanos) throws InterruptedException 使當(dāng)前正在執(zhí)行的線程暫時(shí)停止執(zhí)行指定的毫秒時(shí)間。在使用 Runnable 接口時(shí),不能直接創(chuàng)建所需類的對象并運(yùn)行它,而是必須從 Thread類的一個(gè)實(shí)例內(nèi)部運(yùn)行它。 處于就緒狀態(tài)的線程并不一定立即運(yùn)行 run()方法,線程還必須同其它線程競爭 CPU時(shí)間,只有獲得 CPU 時(shí)間才可以運(yùn)行線程。線程必須通過 run()方法的自然結(jié)束而結(jié)束。這樣使它在共享的線程之 間可以相互協(xié)調(diào)。 本課題將采用 IPv4 協(xié)議作為開發(fā)基礎(chǔ)。所以,下面介紹網(wǎng)絡(luò)編程的步驟時(shí),均以 C/S 結(jié)構(gòu)為基礎(chǔ)進(jìn)行介紹。 關(guān)閉連接 當(dāng)需要停止網(wǎng)絡(luò)通信是,就需要關(guān)閉服務(wù)器端,通過關(guān)閉服務(wù)器端使得服務(wù)器監(jiān)聽的端口以及占用的內(nèi)存等系統(tǒng)資源可以釋放出來。 上面的代碼中, socket1 實(shí)現(xiàn)的是連接到 IP 地址是 的計(jì)算機(jī)的 10000號端口,而 socket2 實(shí)現(xiàn)的是連接到域名是 的計(jì)算機(jī)的 80 號端口,至于底層網(wǎng)絡(luò)如何實(shí)現(xiàn)建立連接,對于程序員來說是完全透明的。由于 Eclipse 中的每樣?xùn)|西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。 FileReader 類型 :用來讀取字符文件的便捷類。 如下代碼: String strTemp While( (strTemp = ()) != null); 可以獲得一行文本內(nèi)容,讀取之后自動(dòng)跳到下一行。 InputStream此抽象類是表示字節(jié)輸入流的所有類的超類。 將緩沖 指定 檔 的 輸 入。IBM 提供了最初的 Eclipse 代碼基礎(chǔ),包括 Platform、 JDT 和 PDE。幸運(yùn)的是, Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具( Java Development Kit, JDK)。在進(jìn)行網(wǎng)絡(luò)編程時(shí),底層網(wǎng)絡(luò)通訊的細(xì)節(jié)已經(jīng)實(shí)現(xiàn)了比較高的封裝,所以在程序員實(shí)際編程時(shí),只需要指定 IP 地址和端口號碼就可以建立連接了。 獲得連接 當(dāng)客戶端連接到服務(wù)器是,服務(wù)器端就可以獲得一個(gè)連接,這個(gè)連接包含客戶端的信息,例如客戶端 IP 地址等,服務(wù)器端和客戶端也通過該連接進(jìn)行數(shù)據(jù)交換。大多數(shù)因特網(wǎng)應(yīng)用程序使用 TCP。 目前 較為 流行的網(wǎng) 絡(luò)編 程模型是客 戶 機(jī) /服 務(wù) 器( C/S) 結(jié) 構(gòu)。 當(dāng)同時(shí)運(yùn)行的相互獨(dú)立的線程需要共享數(shù)據(jù)并且需要考慮其它線程的狀態(tài)時(shí),就需要使用一套機(jī)制使得這些線程同步,避免在爭用資源時(shí)發(fā)生沖突,甚至發(fā)生死鎖。 沈陽理工大學(xué)學(xué)士學(xué)位論文 15 5. 死亡狀態(tài) (Dead) 線程的正常結(jié)束,即 run()方法返回,線程運(yùn)行就結(jié)束了,此時(shí)線程就處于死亡狀態(tài)。 注意 cp 作為線程構(gòu)造方法的第一個(gè)參數(shù),該參數(shù)必須是實(shí)現(xiàn)了 Runnable 接口的對象并提供線程運(yùn)行的 run()方法,第二個(gè)參數(shù)是線程名。 public boolean isAlive() 返回指定線程是否處于活動(dòng)狀態(tài)。 Runnable 對象稱為可運(yùn)行對象,一個(gè)線程的運(yùn)行就是執(zhí)行該對象的
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1