1、python库之网络爬虫
1)Requests :最友好的网络爬虫库
提供简单易用的类HTTP协议网络爬虫功能
支持连接池、SSL、Cookies、HTTP(S)代理等
Python最主要的页面级网络爬虫功能库
import requests
r = requests.get('http://api.github.com/user', auth = ('user', 'pass'))
r. status _ code
r. headers['content-type']
r. encoding
r. text
http://www.python-requests.org/
2) Scrapy :优秀的网络爬虫框架
提供了构建网络爬虫系统的基本框架
支持批量和定时网页爬取、提供数据处理流程
http://scrapy.org
3) Pyspider :强大的Web页面爬取系统
提供了完整的网页爬取系统构建功能
支持数据库后端、消息队列、优先级、分布式架构等
Python最重要的网络爬虫第三方库
http://docs.pyspider.org
2、Python库之Web信息提取
对于爬取的页面解析其中的HTML、XML内容,需要一些Web信息提取的第三方库
1)Beautiful Soup :HTML和XML解析器
提供了解析HTML和XML等Web信息的功能
又名beautifulsoup4或者bs4, 可以加载多种解析引擎
经常与网络爬虫库相互搭配使用,如Scrapy, Requests等
解析Web信息内容无需构建和还原HTML设计格式,可使用正则表达式库来定点获取Web信息;
2)Re:正则表达式解析和处理功能库
提供了定义和解析正则表达式的一批通用功能
可用于各类场景,包括定点的Web信息提取
Python最主要的标准库之一,无需安装
re. search() re. match() re. findall()
re. split() re. finditer() re. sub()
r'\d{3}-\d{8}|d{4}-\d{7}'
上方的函数为Re库中的函数,对于下面一段的代码进行查找和解析
http://docs.python.org/3.6/libary/re.html
3) Python-Goose : 提取文章类型Web页面功能库
提供了对于Web页面中文章信息的/视频等数据的提取功能
针对于特定类型的Web页面,应用范围较广
Python最主要的Web信息提取库
from goose import Goose
ur1 = '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]
http://githib.com/grangier/python-goose
3、Python库之Web网站开发
1)Django :最流行的Web应用框架
提供了构建Web系统基本应用框架
MTV模式:模型(model)、模板(Template)、视图(Views)
Python最重要的Web应用框架,略微复杂的应用框架
http://www.djangoproject.com
2)Pyramid :规模适中的Web应用框架
提供了简单方便的构建Web系统的应用框架
不大不小,规模适中,适合快速构建并适度扩展类应用
Python产品级的Web应用框架,其不简单可扩展性好
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()
http://trypyramid.com/
3) Flask : Web应用开发微框架
提供了最简单构造Web系统的应用框架
特点是:简单规模小快速
Django > Pyramid > Flask
from flask import Flask
app = Flask(_ name _)
@app. route('/')
def hello_ world():
return 'hello, World!'
http://flask.pocoo.org
4、Python库之网络应用开发
1)WeRoBot : 微信公众号开发框架
提供了解析微信服务器消息和反馈信息的功能
建立了微信机器人的重要技术
import werobot
robot = werobot. WeRoBot(token= 'tokenhere')
@robot. handler
def hello(message):
return 'Hello World!'
http://github.com/offu/WeRoBot
2) aip : 百度AI开放平台接口
提供了访问百度AI服务的Python功能接口
语音、人脸、OCR、NLP、知识图谱、图像处理等领域
Python百度AI应用的最主要方式
http://github.com/Baidu-AIP/python-sdk
3) MyQR:二维码生成第三方库
提供生成了二维码的系列功能
基本二维码、艺术二维码、动态二维码
http://github.com/syinsfar/qrcode