亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Webbots、Spiders和Screen Scrapers:技術解析與

系統 2176 0
《Webbots、Spiders和Screen Scrapers:技術解析與應用實踐(原書第2版)》
基本信息
原書名: Webbots,Spiders,and Screen Scrapers:A Guide to Developing Internet Agents with PHP/CURL,Second Edition
原出版社: No Starch Press
作者: (美)Michael Schrenk ??
譯者: 張磊 沈鑫
叢書名: 華章程序員書庫
出版社:機械工業出版社
ISBN:9787111417682
上架時間:2013-5-8
出版日期:2013 年5月
開本:16開
頁碼:282
版次:2-1
所屬分類:計算機 > 軟件與程序設計 > 網絡編程
Webbots、Spiders和Screen Scrapers:技術解析與應用實踐(原書第2版)
內容簡介
? ? 計算機書籍
《webbots、spiders和screen scrapers:技術解析與應用實踐(原書第2版)》是webbots(網絡機器人)、spiders(蜘蛛)、screen scrapers(抓屏器)領域的權威著作,在國際安全領域被廣泛認可,是資深網絡安全專家15年工作經驗的結晶。不僅全面而詳細地解析了webbots、spiders和screen scrapers的技術原理和高級技巧,而且以案例的方式講解了9種常用網絡機器人的設計和開發方法,可操作性極強。除了有豐富的理論和實踐內容外,本書還介紹了商業用途的思路,不厭其煩地告誡開發者如何開發出遵紀守法且不干擾網絡的具有建設性的網絡機器人。
全書31章,分為4個部分:第一部分(1~7章),系統全面地介紹了與webbots、spiders、screen scrapers相關的各種概念和技術原理,是了解和使用它們必須掌握的基礎知識;第二部分(8~16章),以案例的形式仔細地講解了價格監控、圖片抓取、搜索排名檢測、信息聚合、ftp信息、閱讀與發送電子郵件等9類常見機器人的設計與開發方法,非常具備實戰指導意義;第三部分(17~25章),總結和歸納了大量的高級技巧,包括蜘蛛程序的設計方法、采購機器人和秒殺器、相關的密碼學、認證方法、高級cookie管理、如何計劃運行網絡機器人和蜘蛛、使用瀏覽器宏抓取怪異的網站、修改imacros,等等;第四部分(26~31章)是拓展知識,包含如何設計隱蔽的網絡機器人和蜘蛛、編寫容錯的網絡機器人、設計網絡機器人青睞的網站、消滅蜘蛛、相關的法律知識等。
目錄
《webbots、spiders和screen scrapers:技術解析與應用實踐(原書第2版)》?
譯者序?
前言?
第一部分 基礎概念和技術?
第1章 本書主要內容3?
1.1 發現互聯網的真正潛力3?
1.2 對開發者來說3?
1.2.1 網絡機器人開發者是緊缺人才4?
1.2.2 編寫網絡機器人是有趣的4?
1.2.3 網絡機器人利用了“建設性黑客”技術4?
1.3 對企業管理者來說5?
1.3.1 為業務定制互聯網5?
1.3.2 充分利用公眾對網絡機器人的經驗不足5?
1.3.3 事半功倍6?
1.4 結論6?
第2章 網絡機器人項目創意7?
2.1 瀏覽器局限性的啟發7?
2.1.1 聚合并過濾相關信息的網絡機器人7?
2.1.2 解釋在線信息的網絡機器人8?
2.1.3 個人代理網絡機器人9?
.2.2 從瘋狂的創意開始9?
2.2.1 幫助繁忙的人解脫10?
2.2.2 自動執行,節省開支10?
2.2.3 保護知識產權10?
2.2.4 監視機會11?
2.2.5 在網站上驗證訪問權限11?
2.2.6 創建網上剪報服務11?
2.2.7 尋找未授權的wi-fi網絡12?
2.2.8 跟蹤網站技術12?
2.2.9 讓互不兼容的系統通信12?
2.3 結論13?
第3章 下載網頁14?
3.1 當它們是文件,而不是網頁14?
3.2 用php的內置函數下載文件15?
3.2.1 用fopen()和fgets()下載文件15?
3.2.2 用file()函數下載文件17?
3.3 php/curl庫介紹18?
3.3.1 多種傳輸協議18?
3.3.2 表單提交19?
3.3.3 基本認證技術19?
3.3.4 cookie19?
3.3.5 重定向19?
3.3.6 代理名稱欺詐19?
3.3.7 上鏈管理20?
3.3.8 套接字管理20?
3.4 安裝php/curl20?
3.5 lib_http庫21?
3.5.1 熟悉默認值21?
3.5.2 使用lib_http21?
3.5.3 了解更多http標頭信息24?
3.5.4 檢查lib_http的源代碼25?
3.6 結論25?
第4章 基本解析技術26?
4.1 內容與標簽相混合26?
4.2 解析格式混亂的html文件26?
4.3 標準解析過程27?
4.4 使用lib_parse庫27?
4.4.1 用分隔符分解字符串:split_string()函數27?
4.4.2 提取分隔符之間的部分:return_between()函數28?
4.4.3 將數據集解析到數組之中:parse_array()函數29?
4.4.4 提取屬性值:get_attribute()函數30?
4.4.5 移除無用文本:remove()函數32?
4.5 有用的php函數32?
4.5.1 判斷一個字符串是否在另一個字符串里面32?
4.5.2 用一個字符串替換另一個字符串中的一部分33?
4.5.3 解析無格式文本33?
4.5.4 衡量字符串的相似度34?
4.6 結論34?
4.6.1 別相信編碼混亂的網頁34?
4.6.2 小步解析35?
4.6.3 不要在調試的時候渲染解析結果35?
4.6.4 少用正則表達式35?
第5章 使用正則表達式的高級解析技術36?
5.1 模式匹配——正則表達式的關鍵36?
5.2 php的正則表達式類型36?
5.2.1 php正則表達式函數37?
5.2.2 與php內置函數的相似之處38?
5.3 從例子中學習模式匹配39?
5.3.1 提取數字39?
5.3.2 探測字符串序列39?
5.3.3 字母字符匹配40?
5.3.4 通配符匹配40?
5.3.5 選擇匹配41?
5.3.6 分組和范圍匹配的正則表達式41?
5.4 與網絡機器人開發者相關的正則表達式41?
5.4.1 提取電話號碼42?
5.4.2 下一步學習什么45?
5.5 何時使用正則表達式46?
5.5.1 正則表達式的長處46?
5.5.2 模式匹配用于解析網頁的劣勢46?
5.5.3 哪個更快,正則表達式還是php的內置函數48?
5.6 結論48?
第6章 自動表單提交49?
6.1 表單接口的反向工程50?
6.2 表單處理器、數據域、表單方法和事件觸發器50?
6.2.1 表單處理器50?
6.2.2 數據域51?
6.2.3 表單方法52?
6.2.4 多組件編碼54?
6.2.5 事件觸發器54?
6.3 無法預測的表單55?
6.3.1 javascript能在提交之前修改表單55?
6.3.2 表單html代碼通常無法閱讀55?
6.3.3 cookie在表單里不存在,卻會影響其操作55?
6.4 分析表單55?
6.5 結論59?
6.5.1 不要暴露身份59?
6.5.2 正確模擬瀏覽器59?
6.5.3 避免表單錯誤60?
第7章 處理大規模數據61?
7.1 組織數據61?
7.1.1 命名規范61?
7.1.2 在結構化文件里存儲數據62?
7.1.3 在數據庫里存儲文本數據64?
7.1.4 在數據庫里存儲圖片66?
7.1.5 用數據庫,還是用文件系統68?
7.2 減小數據規模68?
7.2.1 保存圖片文件的地址68?
7.2.2 壓縮數據68?
7.2.3 移除格式信息71?
7.3 生成圖片的縮略圖72?
7.4 結論73?
第二部分 網絡機器人項目?
第8章 價格監控網絡機器人77?
8.1 目標網站77?
8.2 設計解析腳本78?
8.3 初始化以及下載目標網頁79?
8.4 進一步探討83?
第9章 圖片抓取網絡機器人84?
9.1 圖片抓取網絡機器人例子84?
9.2 創建圖片抓取網絡機器人85?
9.2.1 二進制安全下載過程86?
9.2.2 目錄結構87?
9.2.3 主腳本87?
9.3 進一步探討90?
9.4 結論90?
第10章 鏈接校驗網絡機器人91?
10.1 創建鏈接校驗網絡機器人91?
10.1.1 初始化網絡機器人并下載目標網頁92?
10.1.2 設置頁面基準92?
10.1.3 提取鏈接93?
10.1.4 運行校驗循環93?
10.1.5 生成url完整路徑93?
10.1.6 下載全鏈接路徑94?
10.1.7 展示頁面狀態95?
10.2 運行網絡機器人95?
10.2.1 lib_http_codes96?
10.2.2 lib_resolve_addresses96?
10.3 進一步探討97?
第11章 搜索排名檢測網絡機器人98?
11.1 搜索結果頁介紹99?
11.2 搜索排名檢測網絡機器人做什么工作100?
11.3 運行搜索排名檢測網絡機器人100?
11.4 搜索排名檢測網絡機器人的工作原理101?
11.5 搜索排名檢測網絡機器人腳本101?
11.5.1 初始化變量102?
11.5.2 開始循環102?
11.5.3 獲取搜索結果103?
11.5.4 解析搜索結果103?
11.6 結論106?
11.6.1 對數據源要厚道106?
11.6.2 搜索網站對待網絡機器人可能會不同于瀏覽器106?
11.6.3 爬取搜索引擎不是好主意106?
11.6.4 熟悉google api107?
11.7 進一步探討107?
第12章 信息聚合網絡機器人108?
12.1 給網絡機器人選擇數據源108?
12.2 信息聚合網絡機器人舉例109?
12.2.1 熟悉rss源109?
12.2.2 編寫信息聚合網絡機器人111?
12.3 給信息聚合網絡機器人添加過濾機制114?
12.4 進一步探討115?
第13章 ftp網絡機器人116?
13.1 ftp網絡機器人舉例116?
13.2 php和ftp118?
13.3 進一步探討119?
第14章 閱讀電子郵件的網絡機器人120?
14.1 pop3協議120?
14.1.1 登錄到pop3郵件服務器120?
14.1.2 從pop3郵件服務器上讀取郵件121?
14.2 用網絡機器人執行pop3命令123?
14.3 進一步探討125?
14.3.1 電子郵件控制的網絡機器人125?
14.3.2 電子郵件接口125?
第15章 發送電子郵件的網絡機器人127?
15.1 電子郵件、網絡機器人以及垃圾郵件127?
15.2 使用smtp和php發送郵件128?
15.2.1 配置php發送郵件128?
15.2.2 使用mail()函數發送電子郵件129?
15.3 編寫發送電子郵件通知的網絡機器人130?
15.3.1 讓合法的郵件不被過濾掉132?
15.3.2 發送html格式的電子郵件132?
15.4 進一步探討134?
15.4.1 使用回復郵件剪裁訪問列表134?
15.4.2 使用電子郵件作為你的網絡機器人運行的通知134?
15.4.3 利用無線技術134?
15.4.4 編寫發送短信的網絡機器人135?
第16章 將一個網站轉變成一個函數136?
16.1 編寫一個函數接口136?
16.1.1 定義函數接口137?
16.1.2 分析目標網頁137?
16.1.3 使用describe_zipcode()函數140?
16.2 結論141?
16.2.1 資源分發142?
16.2.2 使用標準接口142?
16.2.3 設計定制的輕量級“web服務”142?
第三部分 高級設計技巧?
第17章 蜘蛛145?
17.1 蜘蛛的工作原理145?
17.2 蜘蛛腳本示例146?
17.3 lib_simple_spider149?
17.3.1 harvest_links()149?
17.3.2 archive_links()149?
17.3.3 get_domain()150?
17.3.4 exclude_link()150?
17.4 使用蜘蛛進行實驗152?
17.5 添加載荷152?
17.6 進一步探討153?
17.6.1 在數據庫中保存鏈接153?
17.6.2 分離鏈接和載荷153?
17.6.3 在多臺計算機上分配任務153?
17.6.4 管理頁面請求154?
第18章 采購機器人和秒殺器155?
18.1 采購機器人的原理155?
18.1.1 獲取采購標準155?
18.1.2 認證買家155?
18.1.3 核對商品156?
18.1.4 評估購物觸發條件156?
18.1.5 執行購買157?
18.1.6 評估結果157?
18.2 秒殺器的原理157?
18.2.1 獲取采購標準158?
18.2.2 認證競拍者158?
18.2.3 核對拍賣商品158?
18.2.4 同步時鐘158?
18.2.5 競價時間159?
18.2.6 提交競價160?
18.2.7 評估結果160?
18.3 測試自己的網絡機器人和秒殺器160?
18.4 進一步探討160?
18.5 結論161?
第19章 網絡機器人和密碼學162?
19.1 設計使用加密的網絡機器人162?
19.1.1 ssl和php內置函數163?
19.1.2 加密和php/curl163?
19.2 網頁加密的簡要概述163?
19.3 結論164?
第20章 認證165?
20.1 認證的概念165?
20.1.1 在線認證的類型165?
20.1.2 用多種方式加強認證166?
20.1.3 認證和網絡機器人166?
20.2 示例腳本和實踐頁面166?
20.3 基本認證167?
20.4 會話認證168?
20.4.1 使用cookie會話的認證169?
20.4.2 使用查詢會話進行認證172?
20.5 結論174?
第21章 高級cookie管理175?
21.1 cookie的工作原理175?
21.2 php/curl和cookie177?
21.3 網絡機器人設計中面臨的cookie難題178?
21.3.1 擦除臨時性cookie178?
21.3.2 管理多用戶的cookie178?
21.4 進一步探討179?
第22章 計劃運行網絡機器人和蜘蛛180?
22.1 為網絡機器人配置計劃任務180?
22.2 windows xp任務調度程序181?
22.2.1 計劃網絡機器人按日運行181?
22.2.2 復雜的計劃182?
22.3 windows 7任務調度程序184?
22.4 非日歷事件觸發器186?
22.5 結論188?
22.5.1 如何決定網絡機器人的最佳運行周期188?
22.5.2 避免單點故障188?
22.5.3 在計劃中加入變化性188?
第23章 使用瀏覽器宏抓取怪異的網站189?
23.1 高效網頁抓取的阻礙190?
23.1.1 ajax190?
23.1.2 怪異的javascript和cookie行為190?
23.1.3 flash190?
23.2 使用瀏覽器宏解決網頁抓取難題191?
23.2.1 瀏覽器宏的定義191?
23.2.2 模擬瀏覽器的終極網絡機器人191?
23.2.3 安裝和使用imacros191?
23.2.4 創建第一個宏192?
23.3 結論197?
23.3.1 宏的必要性197?
23.3.2 其他用途197?
第24章 修改imacros198?
24.1 增強imacros的功能198?
24.1.1 不使用imacros腳本引擎的原因198?
24.1.2 創建動態宏199?
24.1.3 自動裝載imacros202?
24.2 進一步探討204?
第25章 部署和擴展205?
25.1 一對多環境205?
25.2 一對一環境206?
25.3 多對多環境206?
25.4 多對一環境206?
25.5 擴展和拒絕服務攻擊207?
25.5.1 簡易的網絡機器人也會產生大量數據207?
25.5.2 目標的低效207?
25.5.3 過度擴展的弊端207?
25.6 創建多個網絡機器人的實例208?
25.6.1 創建進程208?
25.6.2 利用操作系統208?
25.6.3 在多臺計算機上分發任務208?
25.7 管理僵尸網絡209?
25.8 進一步探討215?
第四部分 拓展知識?
第26章 設計隱蔽的網絡機器人和蜘蛛219?
26.1 設計隱蔽網絡機器人的原因219?
26.1.1 日志文件219?
26.1.2 日志監控軟件222?
26.2 模擬人類行為實現隱蔽222?
26.2.1 善待資源222?
26.2.2 在繁忙的時刻運行網絡機器人222?
26.2.3 在每天不同時刻運行網絡機器人223?
26.2.4 不要在假期和周末運行網絡機器人223?
26.2.5 使用隨機的延遲時間223?
26.3 結論223?
第27章 代理226?
27.1 代理的概念226?
27.2 虛擬世界中的代理226?
27.3 網絡機器人開發者使用代理的原因226?
27.3.1 使用代理實現匿名227?
27.3.2 使用代理改變位置229?
27.4 使用代理服務器229?
27.4.1 在瀏覽器中使用代理229?
27.4.2 通過php/curl使用代理230?
27.5 代理服務器的類型230?
27.5.1 公共代理230?
27.5.2 tor232?
27.5.3 商業代理234?
27.6 結論234?
27.6.1 匿名是過程,不是特性234?
27.6.2 創建自己的代理服務235?
第28章 編寫容錯的網絡機器人236?
28.1 網絡機器人容錯的類型236?
28.1.1 適應url變化236?
28.1.2 適應頁面內容的變化240?
28.1.3 適應表單的變化242?
28.1.4 適應cookie管理的變化243?
28.1.5 適應網絡中斷和網絡擁堵243?
28.2 錯誤處理器244?
28.3 進一步探討245?
第29章 設計受網絡機器人青睞的網站246?
29.1 針對搜索引擎蜘蛛優化網頁246?
29.1.1 定義明確的鏈接246?
29.1.2 谷歌轟炸和垃圾索引247?
29.1.3 標題標簽247?
29.1.4 元標簽247?
29.1.5 標頭標簽248?
29.1.6 圖片的alt屬性248?
29.2 阻礙搜索引擎蜘蛛的網頁設計技巧248?
29.2.1 javascript249?
29.2.2 非ascii內容249?
29.3 設計純數據接口249?
29.3.1 xml249?
29.3.2 輕量級數據交換251?
29.3.3 簡單對象訪問協議253?
29.3.4 表征狀態轉移254?
29.4 結論255?
第30章 消滅蜘蛛256?
30.1 合理地請求256?
30.1.1 創建服務協議條款257?
30.1.2 使用robots.txt文件257?
30.1.3 使用robots元標簽258?
30.2 創造障礙258?
30.2.1 選擇性地允許特定的網頁代理259?
30.2.2 使用混淆259?
30.2.3 使用cookie、加密、javascript和重定向259?
30.2.4 認證用戶260?
30.2.5 頻繁升級網站260?
30.2.6 在其他媒體中嵌入文本260?
30.3 設置陷阱261?
30.3.1 創建蜘蛛陷阱261?
30.3.2 處理不速之客的方法261?
30.4 結論262?
第31章 遠離麻煩263?
31.1 尊重264?
31.2 版權264?
31.2.1 請善用資源264?
31.2.2 不要紙上談兵265?
31.3 侵犯動產267?
31.4 互聯網法律268?
31.5 結論269?
附錄a php/curl參考270?
附錄b 狀態碼277?
附錄c 短信網關280

?

Webbots、Spiders和Screen Scrapers:技術解析與應用實踐(原書第2版)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美1区| 国产第一亚洲 | 亚洲视频在线不卡 | 亚洲 欧洲 自拍 另类 校园 | 午夜精品在线免费观看 | 精品视频久久 | 国产免费一级高清淫曰本片 | 日本精品不卡 | 日本激情视频一区二区三区 | 99久热成人精品视频 | 日本久久久久亚洲中字幕 | 香蕉久久精品 | 亚洲激情综合 | 亚洲精品久久婷婷爱久久婷婷 | 亚洲欧美日本一区 | 国产成+人+综合+欧美 亚洲 | 性性影院在线观看 | 久草在线首页 | 波多野结衣亚洲一区 | 亚洲国产成人久久综合一 | 日本在线黄| 2019年国产不卡在线刷新 | 五月伊人网 | 夜夜天天操 | 二区在线观看 | 亚洲a网| 国产波波社区精品视频 | 亚洲精品欧美精品 | 国产一区私人高清影院 | 亚洲日韩在线视频 | 欧美一级毛片国产一级毛片 | 久久大香伊蕉在人线国产昨爱 | 日韩成人精品视频 | 久草这里只有精品 | 日韩一区二区视频在线观看 | 男人的天堂a在线 | 亚洲人成绝费网站色ww | 免费中文字幕在线 | 久久久久青草 | 五月婷婷激情六月 | 在线观看国产一区二区三区99 |