出版時(shí)間:2013-5 出版社:斯昆克 (Michael Schrenk)、張磊、 沈鑫 機(jī)械工業(yè)出版社 (2013-05出版) 作者:斯昆克
Tag標(biāo)簽:無
內(nèi)容概要
《Webbots、Spiders和Screen Scrapers:技術(shù)解析與應(yīng)用實(shí)踐(原書第2版)》共31章,分為4個(gè)部分:第一部分(1~7章),系統(tǒng)全面地介紹了與Webbots、Spiders、Screen Scrapers相關(guān)的各種概念和技術(shù)原理,是了解和使用它們必須掌握的基礎(chǔ)知識(shí);第二部分(8~16章),以案例的形式仔細(xì)地講解了價(jià)格監(jiān)控、圖片抓取、搜索排名檢測、信息聚合、FTP信息、閱讀與發(fā)送電子郵件等9類常見機(jī)器人的設(shè)計(jì)與開發(fā)方法,非常具備實(shí)戰(zhàn)指導(dǎo)意義;第三部分(17~25章),總結(jié)和歸納了大量的高級(jí)技巧,包括蜘蛛程序的設(shè)計(jì)方法、采購機(jī)器人和秒殺器、相關(guān)的密碼學(xué)、認(rèn)證方法、高級(jí)cookie管理、如何計(jì)劃運(yùn)行網(wǎng)絡(luò)機(jī)器人和蜘蛛、使用瀏覽器宏抓取怪異的網(wǎng)站、修改iMacros,等等;第四部分(26~31章)是拓展知識(shí),包含如何設(shè)計(jì)隱蔽的網(wǎng)絡(luò)機(jī)器人和蜘蛛、編寫容錯(cuò)的網(wǎng)絡(luò)機(jī)器人、設(shè)計(jì)網(wǎng)絡(luò)機(jī)器人青睞的網(wǎng)站、消滅蜘蛛、相關(guān)的法律知識(shí)等。
作者簡介
作者:(美國)斯昆克(Michael Schrenk) 譯者:張磊 沈鑫 Michael Schrenk,資深網(wǎng)絡(luò)安全專家和軟件開發(fā)專家,在網(wǎng)絡(luò)機(jī)器人領(lǐng)域有15年的研究和開發(fā)經(jīng)驗(yàn),他的工作足跡從美國的硅谷到莫斯科,曾服務(wù)于BBc、政府機(jī)構(gòu)、世界500強(qiáng)等很多企業(yè)和機(jī)構(gòu),積累了豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。他還是著名培訓(xùn)講師和演講嘉賓,曾多次在國際頂級(jí)安全技術(shù)大會(huì)Defcon上發(fā)表演講,深受歡迎。 張磊,資深系統(tǒng)架構(gòu)設(shè)計(jì)者,曾任職于雅虎軟件研發(fā)(北京)有限公司,從事Sponsored Search離線算法模塊的開發(fā)工作,之后任職于愛奇藝,曾負(fù)責(zé)數(shù)據(jù)平臺(tái)、廣告數(shù)據(jù)算法、搜索系統(tǒng)、推薦系統(tǒng)等多個(gè)技術(shù)團(tuán)隊(duì)。 沈鑫,資深網(wǎng)絡(luò)工程師,熱衷于網(wǎng)絡(luò)安全技術(shù)的應(yīng)用與實(shí)踐,樂于技術(shù)分享,曾任“52破解論壇”版主、 “賞金論壇”加殼與脫殼區(qū)版主。
書籍目錄
譯者序 前言 第一部分 基礎(chǔ)概念和技術(shù) 第1章 本書主要內(nèi)容 1.1 發(fā)現(xiàn)互聯(lián)網(wǎng)的真正潛力 1.2 對開發(fā)者來說 1.2.1 網(wǎng)絡(luò)機(jī)器人開發(fā)者是緊缺人才 1.2.2 編寫網(wǎng)絡(luò)機(jī)器人是有趣的 1.2.3 網(wǎng)絡(luò)機(jī)器人利用了“建設(shè)性黑客”技術(shù) 1.3 對企業(yè)管理者來說 1.3.1 為業(yè)務(wù)定制互聯(lián)網(wǎng) 1.3.2 充分利用公眾對網(wǎng)絡(luò)機(jī)器人的經(jīng)驗(yàn)不足 1.3.3 事半功倍 1.4 結(jié)論 第2章 網(wǎng)絡(luò)機(jī)器人項(xiàng)目創(chuàng)意 2.1 瀏覽器局限性的啟發(fā) 2.1.1 聚合并過濾相關(guān)信息的網(wǎng)絡(luò)機(jī)器人 2.1.2 解釋在線信息的網(wǎng)絡(luò)機(jī)器人 2.1.3 個(gè)人代理網(wǎng)絡(luò)機(jī)器人 2.2 從瘋狂的創(chuàng)意開始 2.2.1 幫助繁忙的人解脫 2.2.2 自動(dòng)執(zhí)行,節(jié)省開支 2.2.3 保護(hù)知識(shí)產(chǎn)權(quán) 2.2.4 監(jiān)視機(jī)會(huì) 2.2.5 在網(wǎng)站上驗(yàn)證訪問權(quán)限 2.2.6 創(chuàng)建網(wǎng)上剪報(bào)服務(wù) 2.2.7 尋找未授權(quán)的Wi—Fi網(wǎng)絡(luò) 2.2.8 跟蹤網(wǎng)站技術(shù) 2.2.9 讓互不兼容的系統(tǒng)通信 2.3 結(jié)論 第3章 下載網(wǎng)頁 3.1 當(dāng)它們是文件,而不是網(wǎng)頁 3.2 用PHP的內(nèi)置函數(shù)下載文件 3.2.1 用fopen()和fgets()下載文件 3.2.2 用file()函數(shù)下載文件 3.3 PHP/CURL庫介紹 3.3.1 多種傳輸協(xié)議 3.3.2 表單提交 3.3.3 基本認(rèn)證技術(shù) 3.3.4 cookie 3.3.5 重定向 3.3.6 代理名稱欺詐 3.3.7 上鏈管理 3.3.8 套接字管理 3.4 安裝PHP/CURL 3.5 LIB_http庫 3.5.1 熟悉默認(rèn)值 3.5.2 使用LIB_http 3.5.3 了解更多HTTP標(biāo)頭信息 3.5.4 檢查LIB_http的源代碼 3.6 結(jié)論 第4章 基本解析技術(shù) 4.1 內(nèi)容與標(biāo)簽相混合 4.2 解析格式混亂的HTML文件 4.3 標(biāo)準(zhǔn)解析過程 4.4 使用LIB_parse庫 4.4.1 用分隔符分解字符串:split_string()函數(shù) 4.4.2 提取分隔符之間的部分:return_between()函數(shù) 4.4.3 將數(shù)據(jù)集解析到數(shù)組之中:parse_array()函數(shù) 4.4.4 提取屬性值:get_attribute()函數(shù) 4.4.5 移除無用文本:remove()函數(shù) 4.5 有用的PHP函數(shù) 4.5.1 判斷一個(gè)字符串是否在另一個(gè)字符串里面 4.5.2 用一個(gè)字符串替換另一個(gè)字符串中的一部分 4.5.3 解析無格式文本 4.5.4 衡量字符串的相似度 4.6 結(jié)論 4.6.1 別相信編碼混亂的網(wǎng)頁 4.6.2 小步解析 4.6.3 不要在調(diào)試的時(shí)候渲染解析結(jié)果 4.6.4 少用正則表達(dá)式 第5章 使用正則表達(dá)式的高級(jí)解析技術(shù) 5.1 模式匹配——正則表達(dá)式的關(guān)鍵 5.2 PHP的正則表達(dá)式類型 5.2.1 PHP正則表達(dá)式函數(shù) 5.2.2 與PHP內(nèi)置函數(shù)的相似之處 5.3 從例子中學(xué)習(xí)模式匹配 5.3.1 提取數(shù)字 5.3.2 探測字符串序列 5.3.3 字母字符匹配 5.3.4 通配符匹配 5.3.5 選擇匹配 5.3.6 分組和范圍匹配的正則表達(dá)式 5.4 與網(wǎng)絡(luò)機(jī)器人開發(fā)者相關(guān)的正則表達(dá)式 5.4.1 提取電話號(hào)碼 5.4.2 下一步學(xué)習(xí)什么 5.5 何時(shí)使用正則表達(dá)式 5.5.1 正則表達(dá)式的長處 5.5.2 模式匹配用于解析網(wǎng)頁的劣勢 5.5.3 哪個(gè)更快,正則表達(dá)式還是PHP的內(nèi)置函數(shù) 5.6 結(jié)論 第6章 自動(dòng)表單提交 6.1 表單接口的反向工程 6.2 表單處理器、數(shù)據(jù)域、表單方法和事件觸發(fā)器 6.2.1 表單處理器 6.2.2 數(shù)據(jù)域 6.2.3 表單方法 6.2.4 多組件編碼 6.2.5 事件觸發(fā)器 6.3 無法預(yù)測的表單 6.3.1 JavaScript能在提交之前修改表單 6.3.2 表單HTML代碼通常無法閱讀 6.3.3 cookie在表單里不存在,卻會(huì)影響其操作 6.4 分析表單 6.5 結(jié)論 6.5.1 不要暴露身份 6.5.2 正確模擬瀏覽器 6.5.3 避免表單錯(cuò)誤 第7章 處理大規(guī)模數(shù)據(jù) 7.1 組織數(shù)據(jù) 7.1.1 命名規(guī)范 7.1.2 在結(jié)構(gòu)化文件里存儲(chǔ)數(shù)據(jù) 7.1.3 在數(shù)據(jù)庫里存儲(chǔ)文本數(shù)據(jù) 7.1.4 在數(shù)據(jù)庫里存儲(chǔ)圖片 7.1.5 用數(shù)據(jù)庫,還是用文件系統(tǒng) 7.2 減小數(shù)據(jù)規(guī)模 7.2.1 保存圖片文件的地址 7.2.2 壓縮數(shù)據(jù) 7.2.3 移除格式信息 7.3 生成圖片的縮略圖 7.4 結(jié)論 第二部分 網(wǎng)絡(luò)機(jī)器人項(xiàng)目 第8章 價(jià)格監(jiān)控網(wǎng)絡(luò)機(jī)器人 8.1 目標(biāo)網(wǎng)站 8.2 設(shè)計(jì)解析腳本 8.3 初始化以及下載目標(biāo)網(wǎng)頁 8.4 進(jìn)一步探討 第9章 圖片抓取網(wǎng)絡(luò)機(jī)器人 9.1 圖片抓取網(wǎng)絡(luò)機(jī)器人例子 9.2 創(chuàng)建圖片抓取網(wǎng)絡(luò)機(jī)器人 9.2.1 二進(jìn)制安全下載過程 9.2.2 目錄結(jié)構(gòu) 9.2.3 主腳本 9.3 進(jìn)一步探討 9.4 結(jié)論 第10章 鏈接校驗(yàn)網(wǎng)絡(luò)機(jī)器人 10.1 創(chuàng)建鏈接校驗(yàn)網(wǎng)絡(luò)機(jī)器人 10.1.1 初始化網(wǎng)絡(luò)機(jī)器人并下載目標(biāo)網(wǎng)頁 10.1.2 設(shè)置頁面基準(zhǔn) 10.1.3 提取鏈接 10.1.4 運(yùn)行校驗(yàn)循環(huán) 10.1.5 生成URL完整路徑 10.1.6 下載全鏈接路徑 10.1.7 展示頁面狀態(tài) 10.2 運(yùn)行網(wǎng)絡(luò)機(jī)器人 10.2.1 LIB_http_codes 10.2.2 LIB_resolve_addresses 10.3 進(jìn)一步探討 第11章 搜索排名檢測網(wǎng)絡(luò)機(jī)器人 11.1 搜索結(jié)果頁介紹 11.2 搜索排名檢測網(wǎng)絡(luò)機(jī)器人做什么工作 11.3 運(yùn)行搜索排名檢測網(wǎng)絡(luò)機(jī)器人 11.4 搜索排名檢測網(wǎng)絡(luò)機(jī)器人的工作原理 11.5 搜索排名檢測網(wǎng)絡(luò)機(jī)器人腳本 11.5.1 初始化變量 11.5.2 開始循環(huán) 11.5.3 獲取搜索結(jié)果 11.5.4 解析搜索結(jié)果 11.6 結(jié)論 11.6.1 對數(shù)據(jù)源要厚道 11.6.2 搜索網(wǎng)站對待網(wǎng)絡(luò)機(jī)器人可能會(huì)不同于瀏覽器 11.6.3 爬取搜索引擎不是好主意 11.6.4 熟悉Google API 11.7 進(jìn)一步探討 第12章 信息聚合網(wǎng)絡(luò)機(jī)器人 12.1 給網(wǎng)絡(luò)機(jī)器人選擇數(shù)據(jù)源 12.2 信息聚合網(wǎng)絡(luò)機(jī)器人舉例 12.2.1 熟悉RSS源 12.2.2 編寫信息聚合網(wǎng)絡(luò)機(jī)器人 12.3 給信息聚合網(wǎng)絡(luò)機(jī)器人添加過濾機(jī)制 12.4 進(jìn)一步探討 第13章 FTP網(wǎng)絡(luò)機(jī)器人 13.1 FTP網(wǎng)絡(luò)機(jī)器人舉例 13.2 PHP和FTP 13.3 進(jìn)一步探討 第14章 閱讀電子郵件的網(wǎng)絡(luò)機(jī)器人 14.1 POP3協(xié)議 14.1.1 登錄到POP3郵件服務(wù)器 14.1.2 從POP3郵件服務(wù)器上讀取郵件 14.2 用網(wǎng)絡(luò)機(jī)器人執(zhí)行POP3命令 14.3 進(jìn)一步探討 14.3.1 電子郵件控制的網(wǎng)絡(luò)機(jī)器人 14.3.2 電子郵件接口 第15章 發(fā)送電子郵件的網(wǎng)絡(luò)機(jī)器人 15.1 電子郵件、網(wǎng)絡(luò)機(jī)器人以及垃圾郵件 15.2 使用SMTP和PHP發(fā)送郵件 15.2.1 配置PHP發(fā)送郵件 15.2.2 使用mail()函數(shù)發(fā)送電子郵件 15.3 編寫發(fā)送電子郵件通知的網(wǎng)絡(luò)機(jī)器人 15.3.1 讓合法的郵件不被過濾掉 15.3.2 發(fā)送HTML格式的電子郵件 15.4 進(jìn)一步探討 15.4.1 使用回復(fù)郵件剪裁訪問列表 15.4.2 使用電子郵件作為你的網(wǎng)絡(luò)機(jī)器人運(yùn)行的通知 15.4.3 利用無線技術(shù) 15.4.4 編寫發(fā)送短信的網(wǎng)絡(luò)機(jī)器人 第16章 將一個(gè)網(wǎng)站轉(zhuǎn)變成一個(gè)函數(shù) 16.1 編寫一個(gè)函數(shù)接口 16.1.1 定義函數(shù)接口 16.1.2 分析目標(biāo)網(wǎng)頁 16.1.3 使用describe_zipcode()函數(shù) 16.2 結(jié)論 16.2.1 資源分發(fā) 16.2.2 使用標(biāo)準(zhǔn)接口 16.2.3 設(shè)計(jì)定制的輕量級(jí)“Web服務(wù)” 第三部分 高級(jí)設(shè)計(jì)技巧 第17章 蜘蛛 17.1 蜘蛛的工作原理 17.2 蜘蛛腳本示例 17.3 LIB_simple_spider 17.3.1 harvest_links() 17.3.2 archive_links() 17.3.3 get_domain() 17.3.4 exclude_link() 17.4 使用蜘蛛進(jìn)行實(shí)驗(yàn) 17.5 添加載荷 17.6 進(jìn)一步探討 17.6.1 在數(shù)據(jù)庫中保存鏈接 17.6.2 分離鏈接和載荷 17.6.3 在多臺(tái)計(jì)算機(jī)上分配任務(wù) 17.6.4 管理頁面請求 第18章 采購機(jī)器人和秒殺器 18.1 采購機(jī)器人的原理 18.1.1 獲取采購標(biāo)準(zhǔn) 18.1.2 認(rèn)證買家 18.1.3 核對商品 18.1.4 評估購物觸發(fā)條件 18.1.5 執(zhí)行購買 18.1.6 評估結(jié)果 18.2 秒殺器的原理 18.2.1 獲取采購標(biāo)準(zhǔn) 18.2.2 認(rèn)證競拍者 18.2.3 核對拍賣商品 18.2.4 同步時(shí)鐘 18.2.5 競價(jià)時(shí)間 18.2.6 提交競價(jià) 18.2.7 評估結(jié)果 18.3 測試自己的網(wǎng)絡(luò)機(jī)器人和秒殺器 18.4 進(jìn)一步探討 18.5 結(jié)論 第19章 網(wǎng)絡(luò)機(jī)器人和密碼學(xué) 19.1 設(shè)計(jì)使用加密的網(wǎng)絡(luò)機(jī)器人 19.1.1 SSL和PHP內(nèi)置函數(shù) 19.1.2 加密和PHP/CURL 19.2 網(wǎng)頁加密的簡要概述 19.3 結(jié)論 第20章 認(rèn)證 20.1 認(rèn)證的概念 20.1.1 在線認(rèn)證的類型 20.1.2 用多種方式加強(qiáng)認(rèn)證 20.1.3 認(rèn)證和網(wǎng)絡(luò)機(jī)器人 20.2 示例腳本和實(shí)踐頁面 20.3 基本認(rèn)證 20.4 會(huì)話認(rèn)證 20.4.1 使用cookie會(huì)話的認(rèn)證 20.4.2 使用查詢會(huì)話進(jìn)行認(rèn)證 20.5 結(jié)論 第21章 高級(jí)cookie管理 21.1 cookie的工作原理 21.2 PHP/CURL和cookie 21.3 網(wǎng)絡(luò)機(jī)器人設(shè)計(jì)中面臨的cookie難題 21.3.1 擦除臨時(shí)性cookie 21.3.2 管理多用戶的cookie 21.4 進(jìn)一步探討 第22章 計(jì)劃運(yùn)行網(wǎng)絡(luò)機(jī)器人和蜘蛛 22.1 為網(wǎng)絡(luò)機(jī)器人配置計(jì)劃任務(wù) 22.2 Windows XP任務(wù)調(diào)度程序 22.2.1 計(jì)劃網(wǎng)絡(luò)機(jī)器人按日運(yùn)行 22.2.2 復(fù)雜的計(jì)劃 22.3 Windows 7任務(wù)調(diào)度程序 22.4 非日歷事件觸發(fā)器 22.5 結(jié)論 22.5.1 如何決定網(wǎng)絡(luò)機(jī)器人的最佳運(yùn)行周期 22.5.2 避免單點(diǎn)故障 22.5.3 在計(jì)劃中加入變化性 第23章 使用瀏覽器宏抓取怪異的網(wǎng)站 23.1 高效網(wǎng)頁抓取的阻礙 23.1.1 AJAX 23.1.2 怪異的JavaScript和cookie行為 23.1.3 Flash 23.2 使用瀏覽器宏解決網(wǎng)頁抓取難題 23.2.1 瀏覽器宏的定義 23.2.2 模擬瀏覽器的終極網(wǎng)絡(luò)機(jī)器人 23.2.3 安裝和使用iMacros 23.2.4 創(chuàng)建第一個(gè)宏 23.3 結(jié)論 23.3.1 宏的必要性 23.3.2 其他用途 第24章 修改iMacros 24.1 增強(qiáng)iMacros的功能 24.1.1 不使用iMacros腳本引擎的原因 24.1.2 創(chuàng)建動(dòng)態(tài)宏 24.1.3 自動(dòng)裝載iMacros 24.2 進(jìn)一步探討 第25章 部署和擴(kuò)展 25.1 一對多環(huán)境 25.2 一對一環(huán)境 25.3 多對多環(huán)境 25.4 多對一環(huán)境 25.5 擴(kuò)展和拒絕服務(wù)攻擊 25.5.1 簡易的網(wǎng)絡(luò)機(jī)器人也會(huì)產(chǎn)生大量數(shù)據(jù) 25.5.2 目標(biāo)的低效 25.5.3 過度擴(kuò)展的弊端 25.6 創(chuàng)建多個(gè)網(wǎng)絡(luò)機(jī)器人的實(shí)例 25.6.1 創(chuàng)建進(jìn)程 25.6.2 利用操作系統(tǒng) 25.6.3 在多臺(tái)計(jì)算機(jī)上分發(fā)任務(wù) 25.7 管理僵尸網(wǎng)絡(luò) 25.8 進(jìn)一步探討 第四部分 拓展知識(shí) 第26章 設(shè)計(jì)隱蔽的網(wǎng)絡(luò)機(jī)器人和蜘蛛 26.1 設(shè)計(jì)隱蔽網(wǎng)絡(luò)機(jī)器人的原因 26.1.1 日志文件 26.1.2 日志監(jiān)控軟件 26.2 模擬人類行為實(shí)現(xiàn)隱蔽 26.2.1 善待資源 26.2.2 在繁忙的時(shí)刻運(yùn)行網(wǎng)絡(luò)機(jī)器人 26.2.3 在每天不同時(shí)刻運(yùn)行網(wǎng)絡(luò)機(jī)器人 26.2.4 不要在假期和周末運(yùn)行網(wǎng)絡(luò)機(jī)器人 26.2.5 使用隨機(jī)的延遲時(shí)間 26.3 結(jié)論 第27章 代理 27.1 代理的概念 27.2 虛擬世界中的代理 27.3 網(wǎng)絡(luò)機(jī)器人開發(fā)者使用代理的原因 27.3.1 使用代理實(shí)現(xiàn)匿名 27.3.2 使用代理改變位置 27.4 使用代理服務(wù)器 27.4.1 在瀏覽器中使用代理 27.4.2 通過PHP/CURL使用代理 27.5 代理服務(wù)器的類型 27.5.1 公共代理 27.5.2 Tor 27.5.3 商業(yè)代理 27.6 結(jié)論 27.6.1 匿名是過程,不是特性 27.6.2 創(chuàng)建自己的代理服務(wù) 第28章 編寫容錯(cuò)的網(wǎng)絡(luò)機(jī)器人 28.1 網(wǎng)絡(luò)機(jī)器人容錯(cuò)的類型 28.1.1 適應(yīng)URL變化 28.1.2 適應(yīng)頁面內(nèi)容的變化 28.1.3 適應(yīng)表單的變化 28.1.4 適應(yīng)cookie管理的變化 28.1.5 適應(yīng)網(wǎng)絡(luò)中斷和網(wǎng)絡(luò)擁堵 28.2 錯(cuò)誤處理器 28.3 進(jìn)一步探討 第29章 設(shè)計(jì)受網(wǎng)絡(luò)機(jī)器人青睞的網(wǎng)站 29.1 針對搜索引擎蜘蛛優(yōu)化網(wǎng)頁 29.1.1 定義明確的鏈接 29.1.2 谷歌轟炸和垃圾索引 29.1.3 標(biāo)題標(biāo)簽 29.1.4 元標(biāo)簽 29.1.5 標(biāo)頭標(biāo)簽 29.1.6 圖片的alt屬性 29.2 阻礙搜索引擎蜘蛛的網(wǎng)頁設(shè)計(jì)技巧 29.2.1 JavaScript 29.2.2 非ASCII內(nèi)容 29.3 設(shè)計(jì)純數(shù)據(jù)接口 29.3.1 XML 29.3.2 輕量級(jí)數(shù)據(jù)交換 29.3.3 簡單對象訪問協(xié)議 29.3.4 表征狀態(tài)轉(zhuǎn)移 29.4 結(jié)論 第30章 消滅蜘蛛 30.1 合理地請求 30.1.1 創(chuàng)建服務(wù)協(xié)議條款 30.1.2 使用robots.txt文件 30.1.3 使用robots元標(biāo)簽 30.2 創(chuàng)造障礙 30.2.1 選擇性地允許特定的網(wǎng)頁代理 30.2.2 使用混淆 30.2.3 使用cookie、加密、JavaScript和重定向 30.2.4 認(rèn)證用戶 30.2.5 頻繁升級(jí)網(wǎng)站 30.2.6 在其他媒體中嵌入文本 30.3 設(shè)置陷阱 30.3.1 創(chuàng)建蜘蛛陷阱 30.3.2 處理不速之客的方法 30.4 結(jié)論 第31章 遠(yuǎn)離麻煩 31.1 尊重 31.2 版權(quán) 31.2.1 請善用資源 31.2.2 不要紙上談兵 31.3 侵犯動(dòng)產(chǎn) 31.4 互聯(lián)網(wǎng)法律 31.5 結(jié)論 附錄A PHP/CURL參考 附錄B 狀態(tài)碼 附錄C 短信網(wǎng)關(guān)
章節(jié)摘錄
版權(quán)頁: 插圖: 處理大規(guī)模數(shù)據(jù) 讀者將很快發(fā)現(xiàn),網(wǎng)絡(luò)機(jī)器人能夠收集大規(guī)模的數(shù)據(jù)。一個(gè)簡單的自動(dòng)網(wǎng)絡(luò)機(jī)器人或者蜘蛛程序,即便在幾個(gè)月里面每天只運(yùn)行一次,所收集的數(shù)據(jù)仍然是巨大的。由于沒有人擁有無限的存儲(chǔ)空間,管理所收集和存儲(chǔ)的數(shù)據(jù)就變得非常重要。在本章,作者將描述如何處理網(wǎng)絡(luò)機(jī)器人收集到的數(shù)據(jù),然后研究如何減小存儲(chǔ)的數(shù)據(jù)量。 7.1 組織數(shù)據(jù) 組織網(wǎng)絡(luò)機(jī)器人下載的數(shù)據(jù)是需要規(guī)劃的。不管是利用設(shè)計(jì)好的文件結(jié)構(gòu),還是利用關(guān)系數(shù)據(jù)庫,其結(jié)果都要滿足應(yīng)用程序想要解決特定問題的需求。例如,如果數(shù)據(jù)主要是由文本組成,被許多人訪問,或者需要快速獲取或支持檢索的能力,那么關(guān)系數(shù)據(jù)庫是比較好的選擇,因?yàn)殛P(guān)系數(shù)據(jù)庫具備這些功能。另一方面,如果要存儲(chǔ)許多圖片、PDF文件或者word文件,在結(jié)構(gòu)化的文件系統(tǒng)上進(jìn)行存儲(chǔ)是比較好的選擇。你甚至可以創(chuàng)建一個(gè)混合系統(tǒng),使用結(jié)構(gòu)化目錄系統(tǒng)存儲(chǔ)媒體文件,而其索引存儲(chǔ)在關(guān)系數(shù)據(jù)庫里面。 7.1.1命名規(guī)范 雖然并不存在一個(gè)絕對“正確”的方式來組織數(shù)據(jù),但在存儲(chǔ)網(wǎng)絡(luò)機(jī)器人產(chǎn)生的數(shù)據(jù)時(shí)有不少壞方法。多數(shù)錯(cuò)誤來自于給網(wǎng)絡(luò)機(jī)器人收集的數(shù)據(jù)采用了非描述性的或者有歧義的名字。因此,你的設(shè)計(jì)必須包括命名規(guī)范,使其唯一標(biāo)識(shí)文件、目錄以及數(shù)據(jù)庫屬性。要提前給數(shù)據(jù)命名,在規(guī)劃階段就做,而不是邊收集數(shù)據(jù)邊命名。要一直采用支持?jǐn)?shù)據(jù)結(jié)構(gòu)增長的命名方式。例如,如果一個(gè)房地產(chǎn)方向的網(wǎng)絡(luò)機(jī)器人使用“居民樓”來命名資產(chǎn),那么隨著應(yīng)用擴(kuò)展到土地、辦公樓或者商業(yè)的時(shí)候,將變得難以維護(hù)。給數(shù)據(jù)進(jìn)行命名升級(jí)可能會(huì)非常繁瑣,因?yàn)檫@些名字在代碼和文檔里會(huì)多次引用。 命名規(guī)范可以強(qiáng)制實(shí)施任意你喜歡的規(guī)則,但是請考慮如下指導(dǎo)原則: 必須強(qiáng)硬地實(shí)施每一個(gè)命名標(biāo)準(zhǔn),否則這些標(biāo)準(zhǔn)將不會(huì)成為標(biāo)準(zhǔn)。 通常用基于對象的類型來命名是比較好的,而不是基于對象本身是什么。
編輯推薦
《Webbots、Spiders和Screen Scrapers:技術(shù)解析與應(yīng)用實(shí)踐(原書第2版)》是Webbots(網(wǎng)絡(luò)機(jī)器人)、Spiders(蜘蛛)、Screen Scrapers(抓屏器)領(lǐng)域的權(quán)威著作,在國際安全領(lǐng)域被廣泛認(rèn)可,是資深網(wǎng)絡(luò)安全專家15年工作經(jīng)驗(yàn)的結(jié)晶。不僅全面而詳細(xì)地解析了Webbots、Spiders和Screen Scrapers的技術(shù)原理和高級(jí)技巧,而且以案例的方式講解了9種常用網(wǎng)絡(luò)機(jī)器人的設(shè)計(jì)和開發(fā)方法,可操作性極強(qiáng)。除了有豐富的理論和實(shí)踐內(nèi)容外,還介紹了商業(yè)用途的思路,不厭其煩地告誡開發(fā)者如何開發(fā)出遵紀(jì)守法且不干擾網(wǎng)絡(luò)的具有建設(shè)性的網(wǎng)絡(luò)機(jī)器人。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
Webbots、Spiders和Screen Scrapers PDF格式下載