RDD的PYTHON揹包

pythoon(大蟒蛇)

1989年
Guido van Rossum(荷蘭人)html

  • 解釋型語言python

  • BASIC、Pythonweb

  • 解釋型語言

  • 同聲傳譯正則表達式

  • 比較靈活redis

  • 設計哲學數據庫

    • 「優雅」「明確」「簡單」編程

    • 易學、易用緩存

    • 可讀性高cookie

  • 開發哲學數據結構

    • 「用一種方法,最好是隻用一種方法來作一件事」

  • 現代編程語言

    • 面向對象

  • 支持泛型設計

    • 支持函數式編程

  • 豐富的數據結構和第三方函數庫

    • 功能強大

python web spider

簡單爬蟲架構

  • 基本的器件

    • 爬蟲調度端

    • 爬蟲url管理器

    • 網頁下載器

    • 網頁解析器

      • 價值數據

      • url數據

  • 過程

url管理器

  • 管理待抓取URL集合和已抓取URL集合

  • 防止重複/循環抓取

  • 支持功能:

  • 添加新的url》待抓取

    • 判斷是否已經存在

  • 獲取待爬取url

    • 判斷是否還有待爬取url

      • 將url從待爬取》已爬取

  • 實現方式

    • 存儲到內存

      • 適合小型、我的

      • python內存

      • set()

        • 待爬取一個 已爬取一個

          • 直接去除重複的元素

      • 關係數據庫

      • 適合:永久

    • mySQL

      • urls(url,is_crawled)

        • iscrawled判斷是否已經爬取

        • 緩存數據庫

        • 高性能 》 大公司

    • redis

      • 待爬取url集合:set

        • 已爬取url集合:set

網頁下載器

將互聯網下URL對應的網頁下載到本地的工具

  • 基本的網頁下載器

    • urllib2

      • python官方基礎模塊

      • 基本下載、cookies、密碼

    • requests

      • 第三方包更強大

    • 處理一些特殊情景

      • HTTPCookieProcessor 密碼

      • ProxyHandler 代理

      • HTTPSHandler加密

      • HTTPRedirectHandler 重定向

網頁解析器

提取有用數據:

  • 輸出

  • url列表

  • 有用數據

基本的網頁解析器:

  1. 正則表達式

  2. html.parser(自帶)

  3. BeautifulSoup

  4. lxml

相關文章
相關標籤/搜索