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-…

相关文章
相关标签/搜索