python爬蟲學習-day002

g爬蟲經常使用的庫

  • urllib re 內置的庫html

    • urllib.request.urlopen(url)
  • requestspython

    • 直接請求url,能夠獲取後臺返回的json後者其餘格式的數據,非js渲染的頁面適用
    • requests.get("www.baidu.com")
    • post
    • head
    • ...
  • seleniummysql

    • 驅動瀏覽器,獲取js渲染的結果,沒法用requests獲取jquery

    • 須要安裝chromedriver到環境變量所支持的目錄web

    • 缺點:須要打開瀏覽器redis

    • from selenium import webdriver
      driver = webdriver.Chrome()
      driver.get("http://www.baidu.com")
      driver.page_source  # 輸出源代碼
      複製代碼
  • phantomjssql

    • 無節界面瀏覽器,直接後臺處理數據chrome

    • from selenuim import webdriver
      driver = webdriver.PhantomJS()
      driver.get("http://www.baidu.com")
      driver.page_source
      複製代碼
  • lxml數據庫

    • pip install lxml 安裝,或者下載安裝包
    • xpath 網頁解析方式,高效方便
  • beautifulsoup4django

    • 依賴lxml庫

    • from bs4 import BeautifulSoup
      soup = BeautifulSoup('<html></html', 'lxml')  
      # 參數1 html code
      # 參數2 解析方式
      複製代碼
  • pyquery

    • 語法和jquery一致,方便

    • pip install pyquery

    • from pyquery import PyQuery as pq
      doc = pq("<html>Hello</html>")
      r = doc('html').text()
      複製代碼
  • pymysql

    • 數據庫交互
  • pymongo

    • nosql key-value存儲

    • import pymongo
      client = pymongo.MongoClient("localhost")
      db = client["testdb"]
      db['collection'].insert({"name": "jack"})
      
      複製代碼
  • redis

    • 分佈式爬蟲,維護爬取隊列

    • 高效

    • import redis
      r = redis.Redis('localhost', 6379)
      r.set('name', 'Bob')
      r.get('name')
      複製代碼
  • flask

    • 輕量級的http server框架
  • django

    • 重量級web服務器框架,比較強大,模版引擎,路由之類的
    • 根據項目的量級來選
  • bottle

    • 另外一個輕量級的 http server的框架,開發效率高
  • jupyter

    • 記事本,在線運行代碼,記筆記,支持markdown

requests庫詳解

cn.python-requests.org/zh_CN/lates…

pyquery 庫詳解

pythonhosted.org/pyquery/api…

bs4 庫詳解

beautifulsoup.readthedocs.io/zh_CN/lates…

flask教程

www.pythondoc.com/flask-mega-…

相關文章
相關標籤/搜索