zoukankan      html  css  js  c++  java
  • 062 Python必备库-从Web解析到网络空间

    一、概述

    • Python库之网络爬虫
    • Python库之Web信息提取
    • Python库之Web网站开发
    • Python库之网络应用开发

    二、Python库之网络爬虫

    2.1 Requests

    Requests: 最友好的网络爬虫功能库,http://www.python-requests.org/

    • 提供了简单易用的类HTTP协议网络爬虫功能
    • 支持连接池、SSL、Cookies、HTTP(S)代理等
    • Python最主要的页面级网络爬虫功能库

    062-从Web解析到网络空间-01.jpg?x-oss-process=style/watermark

    import requests
    r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
    
    r.status_code
    r.headers['content-type']
    r.encoding
    r.text
    

    2.2 Scrapy

    Scrapy: 优秀的网络爬虫框架,Python数据分析高层次应用库,https://scrapy.org

    • 提供了构建网络爬虫系统的框架功能,功能半成品
    • 支持批量和定时网页爬取、提供数据处理流程等
    • Python最主要且最专业的网络爬虫框架

    062-从Web解析到网络空间-02.jpg?x-oss-process=style/watermark

    2.3 pyspider

    pyspider: 强大的Web页面爬取系统,http://docs.pyspider.org

    • 提供了完整的网页爬取系统构建功能
    • 支持数据库后端、消息队列、优先级、分布式架构等
    • Python重要的网络爬虫类第三方库pyspider: 强大的Web页面爬取系统

    062-从Web解析到网络空间-03.jpg?x-oss-process=style/watermark

    三、Python库之Web信息提取

    3.1 Beautiful Soup

    Beautiful Soup: HTML和XML的解析库,https://www.crummy.com/software/BeautifulSoup/bs4

    • 提供了解析HTML和XML等Web信息的功能
    • 又名beautifulsoup4或bs4,可以加载多种解析引擎
    • 常与网络爬虫库搭配使用,如Scrapy、requests等

    062-从Web解析到网络空间-04.jpg?x-oss-process=style/watermark

    3.2 Re

    Re: 正则表达式解析和处理功能库,https://docs.python.org/3.6/library/re.html

    • 提供了定义和解析正则表达式的一批通用功能
    • 可用于各类场景,包括定点的Web信息提取
    • Python最主要的标准库之一,无需安装

    3.3 Python-Goose

    Python-Goose: 提取文章类型Web页面的功能库,https://github.com/grangier/python-goose

    • 提供了对Web页面中文章信息/视频等元数据的提取功能
    • 针对特定类型Web页面,应用覆盖面较广
    • Python最主要的Web信息提取库
    from goose import Goose
    url = 'http://www.elmundo.es/elmundo/2012/10/28/espana/1351388909.html'
    g = Goose({'use_meta_language': False,'target_language':'es'}) 
    article = g.extract(url=url)
    article.cleaned_text[:150]
    

    四、Python库之Web网站开发

    4.1 Django

    Django: 最流行的Web应用框架,https://www.djangoproject.com

    • 提供了构建Web系统的基本应用框架
    • MTV模式:模型(model)、模板(Template)、视图(Views)
    • Python最重要的Web应用框架,略微复杂的应用框架

    062-从Web解析到网络空间-05.jpg?x-oss-process=style/watermark

    4.2 Pyramid

    Pyramid: 规模适中的Web应用框架,https://trypyramid.com/

    • 提供了简单方便构建Web系统的应用框架
    • 不大不小,规模适中,适合快速构建并适度扩展类应用
    • Python产品级Web应用框架,起步简单可扩展性好
    # 10行左右Hello Word程序
    from wsgiref.simple_server import make_server 
    from pyramid.config import Configurator
    from pyramid.response import Response
    
    def hello_world(request):
        return Response('Hello World')
    
    if __name__ == '__main__':
        with Configurator() as config:
            config.add_route('hello', '/')
        config.add_view(hello_world, route_name='hello')
        app = config.make_wsgi_app()
        server = make_server('0.0.0.0', 6543, app)
        server.serve_forever()
    

    4.3 Flask

    Flask: Web应用开发微框架,http://flask.pocoo.org

    • 提供了最简单构建Web系统的应用框架
    • 特点是:简单、规模小、快速
    • Django > Pyramid > Flask

    062-从Web解析到网络空间-06.jpg?x-oss-process=style/watermark

    from flask import Flask 
    
    app = Flask(__name__) 
    
    @app.route('/')
    def hello_world():
        return 'Hello, World!'
    

    五、Python库之网络应用开发

    5.1 WeRoBot

    WeRoBot: 微信公众号开发框架,https://github.com/offu/WeRoBot

    • 提供了解析微信服务器消息及反馈消息的功能
    • 建立微信机器人的重要技术手段
    # 对微信每个消息反馈一个Hello World
    import werobot
    robot = werobot.WeRoBot(token='tokenhere')
    
    @robot.handler
    def hello(message):
        return 'Hello World!'
    

    5.2 aip

    aip: 百度AI开放平台接口,https://github.com/offu/WeRoBot

    • 提供了访问百度AI服务的Python功能接口
    • 语音、人脸、OCR、NLP、知识图谱、图像搜索等领域
    • Python百度AI应用的最主要方式

    062-从Web解析到网络空间-07.jpg?x-oss-process=style/watermark

    5.3 MyQR

    MyQR: 二维码生成第三方库,https://github.com/sylnsfar/qrcode

    • 提供了生成二维码的系列功能
    • 基本二维码、艺术二维码和动态二维码

    062-从Web解析到网络空间-08.jpg?x-oss-process=style/watermark

    六、单元小结

    6.1 从Web解析到网络空间

    • Requests、Scrapy、pyspider
    • Beautiful Soup、Re、Python-Goose
    • Django、Pyramid、Flask
    • WeRobot、aip、MyQR
  • 相关阅读:
    CodeForces
    POJ
    POJ 2260 Error Correction 模拟 贪心 简单题
    POJ
    HDU
    UVA
    CodeForces
    CodeForces
    常见的医学图像成像(总)
    ADNI数据集相关概念整理
  • 原文地址:https://www.cnblogs.com/nickchen121/p/11219400.html
Copyright © 2011-2022 走看看