98 Internet Application 互聯網 + 應用 引言:如今,大數據已經進入我們的各個領域,我們的工作及應用越來越需要獲取大量的數據。我們可以想象在一張蜘蛛網上沿著我們所需的方向爬取獵物(數據)的感覺。實際上爬蟲就是通過人為的模擬瀏覽器行為,獲取站點的HTML 代碼、JSON 數據以及其它相關內容到本地,保存以便日后自己使用。一、爬蟲技術 1、爬蟲簡介。爬蟲,應該稱為網絡爬蟲,也叫網頁蜘蛛、網絡機器人、網絡螞蟻等。其實,搜索引擎,就是網絡爬蟲的應用者。但搜索引擎不能對所需網站及特定數據進行獲取,因此,需要自己開發爬蟲來解決問題。 2、爬蟲分類。當前主要爬蟲從大體上可分為聚焦爬蟲和通用爬蟲。通用爬蟲常見的就是搜索引擎,無差別的收集數據、存儲,提取關鍵字,構建索引庫,給用戶提供搜索接口。聚焦爬蟲是指有針對性的編寫特定領域數據的爬取程序,針對某些類別數據采集的爬蟲,是面向主題的爬蟲。 3、爬蟲架構。爬蟲架構分為 3 部分:(1)URL 資源管理器:存放已爬和未爬的 URL。(2)網頁下載器:字符串格式的網頁保存方式。(3)網頁解釋器:進行數據解析。 4、爬蟲的一般流程:(1)初始一批 URL,將 URL 放在待爬取隊列。(2)取出 URL,通過 DNS 解析 IP,對 IP 對應站點下載 HTML 頁面,保存本地服務器,爬取完成后放 入已爬取隊列。(3)分析網頁,找出里面URL鏈接,重復(2)。 二、基礎 Python 爬蟲的分析 2.1Python 語言的優勢 (1)簡單方便上手,兼容性強,可在所有操作系統上運行,初學者能很好適應。(2)Python 其自身所帶了很多例如urllib3等很方便爬蟲的庫,以及其完整的爬蟲框架 Scrapy,使用者很方便上手。 2.2 Python 網絡爬蟲模塊 1. urllib 包。Urllib 是標準庫,它是一個工具包模塊,包含以下模塊來處理 URL:(1)urllib.request:用于打開和讀寫 URL;(2)urllib.error 包含了由 urllib.request 引起的異常; (3)urllib.parse 用于解析 URL;(4)urllib.robotparser 分析 基于 Python 下的爬蟲綜述及應用 □張譽曜 陳媛媛(通訊作者) 新疆師范大學計算機科學技術學院 【摘要】 本文對 Python 全棧爬蟲技術進行闡述,包含了爬蟲概念、流程和架構,并通過詳細的代碼展示體現出來,緊接著通過實例展現了 Python 爬蟲的簡潔性,望對學習者有所幫助。 【關鍵詞】 Python 全棧爬蟲 爬蟲概念 應用 2017 年度新疆師范大學計算機科學學院數據安全重點實驗室招標課題“網絡空間命運共同體視域下我國智庫網絡影響力提升路徑研究”,課題編號 : XJNUSYS102017B07。 通訊作者 : 陳媛媛 ( 1977— ) ,新疆師范大學計算機學院副研究館員 robots.txt 文件。在 Python2 中提供了 urllib 和 urllib2,其中urllib 提供的是底層的接口,urllib2 對 urllib 進行了進一步的封裝。但在 Python3 中將 urllib 合并到了 urllib2 中,并只提供了標準庫 urllib 包。 2. request.urlopen 方法。通過 urllib.request.urlopen 方法,發起了一個 HTTP 的 GET 請求,WEB 服務器返回了網頁內容。響應的數據被封裝到類文件對象中,可以通過read方法、 readlin