爬虫常用库:请求库、解析库、存储库
urllib、re (python内置库)
requests:请求库
selenium:驱动浏览器、自动化测试
chromedriver:chrome浏览器驱动
phantomjs:不会弹出浏览器,无界面浏览器
lxml:提供。。。解析方式
beautifulsoup:网页解析库 bs4(该模块名称)
pyquery:网页解析库,更加方便
pymysql:连接MySQL数据库的库
pymongo:操作mongodb数据库的库
redis:非关系型数据库,用于分布式爬虫,效率高
flask:代理设置
django:外部服务器框架,提供一个完整的后台管理,模块接口,引擎,用于分布式爬虫的维护
基本流程:
1、发起请求
请求方式(get、post) 请求url URL:统一资源定位符 请求头 请求体
2、获取相应内容
响应状态、响应头、响应体:最主要部分,包含请求源代码
3、解析内容
解析方式: JSon解析 正则表达式 beautifulsoup:好用 pyquery xpath
解决JavaScript渲染的问题:分析ajax请求 selenium/webdriver splash pyv8、ghost.py
4、保存数据:
文本:纯文字、json、xml
关系型数据库:msql、Oracle等具有结构化表结构形式存储
非关系型数据库:MongoDB、Redis等key-value形式存储格式
二进制文件:图片、音频、视频等直接保存成特定格式