Python的Scrapy定製網路爬蟲
網路爬蟲(Web Crawler, Spider)就是一個在網路上亂爬的機器人。當然它通常並不是一個實體的機器人,因為網路本身也是虛擬的東西,所以這個“機器人”其實也就是一段程式,並且它也不是亂爬,而是有一定目的的,並且在爬行的時候會蒐集一些資訊。
例如 Google 就有一大堆爬蟲會在 Internet 上搜集網頁內容以及它們之間的連結等資訊;又比如一些別有用心的爬蟲會在 Internet 上搜集諸如 foo@bar.com 或者 foo [at] bar [dot] com 之類的東西。除此之外,還有一些定製的爬蟲,專門針對某一個網站,還有諸如小眾軟體或者 LinuxToy 這樣的網站也經常被整個站點 crawl 下來,換個名字掛出來。
其實爬蟲從基本原理上來講很簡單,只要能訪問網路和分析 Web 頁面即可,現在大部分語言都有方便的 Http 客戶端庫可以抓取 Web 頁面,而 HTML 的分析最簡單的可以直接用正規表示式來做,因此要做一個最簡陋的網路爬蟲實際上是一件很簡單的事情。不過要實現一個高質量的 spider 卻是非常難的。
爬蟲的兩部分:
一是下載 Web 頁面,有許多問題需要考慮,如何最大程度地利用本地頻寬,如何排程針對不同站點的 Web 請求以減輕對方伺服器的負擔等。
一個高效能的 Web Crawler 系統裡,DNS 查詢也會成為急需優化的瓶頸。
另外,還有一些“行規”需要遵循(例如 robots.txt)。而獲取了網頁之後的分析過程也是非常複雜的,Internet 上的東西千奇百怪,各種錯誤百出的 HTML 頁面都有,要想全部分析清楚幾乎是不可能的事;
另外,隨著 AJAX 的流行,如何獲取由 Javascript. 動態生成的內容成了一大難題;
除此之外,Internet 上還有有各種有意或無意出現的Spider Trap ,如果盲目的跟蹤超連結的話,就會陷入 Trap 中萬劫不復了,例如這個網站,據說是之前 Google 宣稱 Internet 上的 Unique URL 數目已經達到了 1 trillion 個,因此這個人 is proud to announce the second trillion 。
例如 Google 就有一大堆爬蟲會在 Internet 上搜集網頁內容以及它們之間的連結等資訊;又比如一些別有用心的爬蟲會在 Internet 上搜集諸如 foo@bar.com 或者 foo [at] bar [dot] com 之類的東西。除此之外,還有一些定製的爬蟲,專門針對某一個網站,還有諸如小眾軟體或者 LinuxToy 這樣的網站也經常被整個站點 crawl 下來,換個名字掛出來。
其實爬蟲從基本原理上來講很簡單,只要能訪問網路和分析 Web 頁面即可,現在大部分語言都有方便的 Http 客戶端庫可以抓取 Web 頁面,而 HTML 的分析最簡單的可以直接用正規表示式來做,因此要做一個最簡陋的網路爬蟲實際上是一件很簡單的事情。不過要實現一個高質量的 spider 卻是非常難的。
爬蟲的兩部分:
一是下載 Web 頁面,有許多問題需要考慮,如何最大程度地利用本地頻寬,如何排程針對不同站點的 Web 請求以減輕對方伺服器的負擔等。
一個高效能的 Web Crawler 系統裡,DNS 查詢也會成為急需優化的瓶頸。
另外,還有一些“行規”需要遵循(例如 robots.txt)。而獲取了網頁之後的分析過程也是非常複雜的,Internet 上的東西千奇百怪,各種錯誤百出的 HTML 頁面都有,要想全部分析清楚幾乎是不可能的事;
另外,隨著 AJAX 的流行,如何獲取由 Javascript. 動態生成的內容成了一大難題;
除此之外,Internet 上還有有各種有意或無意出現的Spider Trap ,如果盲目的跟蹤超連結的話,就會陷入 Trap 中萬劫不復了,例如這個網站,據說是之前 Google 宣稱 Internet 上的 Unique URL 數目已經達到了 1 trillion 個,因此這個人 is proud to announce the second trillion 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/301743/viewspace-752949/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python網路爬蟲(14)使用Scrapy搭建爬蟲框架Python爬蟲框架
- Python網路爬蟲4 - scrapy入門Python爬蟲
- 爬蟲(9) - Scrapy框架(1) | Scrapy 非同步網路爬蟲框架爬蟲框架非同步
- python爬蟲Scrapy框架Python爬蟲框架
- Python爬蟲—Scrapy框架Python爬蟲框架
- 【Python篇】scrapy爬蟲Python爬蟲
- Python Scrapy 爬蟲(二):scrapy 初試Python爬蟲
- 精通Scrapy網路爬蟲【一】第一個爬蟲專案爬蟲
- python網路爬蟲_Python爬蟲:30個小時搞定Python網路爬蟲視訊教程Python爬蟲
- scrapy + mogoDB 網站爬蟲Go網站爬蟲
- python網路爬蟲應用_python網路爬蟲應用實戰Python爬蟲
- Python爬蟲教程-30-Scrapy 爬蟲框架介紹Python爬蟲框架
- python DHT網路爬蟲Python爬蟲
- python 爬蟲對 scrapy 框架的認識Python爬蟲框架
- 爬蟲--Scrapy簡易爬蟲爬蟲
- 什麼是Python網路爬蟲?常見的網路爬蟲有哪些?Python爬蟲
- Python爬蟲教程-31-建立 Scrapy 爬蟲框架專案Python爬蟲框架
- Python爬蟲 --- 2.3 Scrapy 框架的簡單使用Python爬蟲框架
- Python爬蟲教程-33-scrapy shell 的使用Python爬蟲
- JB的Python之旅-爬蟲篇--requests&ScrapyPython爬蟲
- 網路爬蟲(python專案)爬蟲Python
- 專案--python網路爬蟲Python爬蟲
- python網路爬蟲合法嗎Python爬蟲
- Python網路爬蟲實戰Python爬蟲
- Scrapy爬蟲-草稿爬蟲
- Scrapy爬蟲框架爬蟲框架
- Python 爬蟲(六):使用 Scrapy 爬取去哪兒網景區資訊Python爬蟲
- Scrapy框架的使用之Scrapy通用爬蟲框架爬蟲
- 爬蟲框架-scrapy的使用爬蟲框架
- Scrapy爬蟲框架的使用爬蟲框架
- 《Python3網路爬蟲開發實戰》PDF+原始碼+《精通Python爬蟲框架Scrapy》中英文PDF原始碼...Python爬蟲原始碼框架
- 手把手教你寫網路爬蟲(4):Scrapy入門爬蟲
- Python3爬蟲(十八) Scrapy框架(二)Python爬蟲框架
- python爬蟲常用之Scrapy 中介軟體Python爬蟲
- python爬蟲系列(三)scrapy基本概念Python爬蟲
- Python爬蟲 ---scrapy框架初探及實戰Python爬蟲框架
- 利用scrapy建立初始Python爬蟲專案Python爬蟲
- [Python] 網路爬蟲與資訊提取(1) 網路爬蟲之規則Python爬蟲
- python網路爬蟲--專案實戰--scrapy嵌入selenium,晶片廠級聯評論爬取(6)Python爬蟲晶片