1.发起请求
通过HTTP库向目标站点发起请求,也就是发送一个Request,请求可以包含额外的header等信息,等待服务器响应。如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能是HTML,Json字符串,二进制数据(图片或者视频)等类型。
基于Urllib的Requests库:主要有:GET/POST两种类型常用,另外还有HEAD/PUT/DELETE/OPTIONS
2.解析内容
得到的内容可能是HTML,可以用正则表达式,页面解析库进行解析,可能是Json,可以直接转换为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理。
解析方法:
- 直接处理
- Json解析
- 正则表达式处理
- BeautifulSoup解析处理
- PyQuery解析处理
- XPath解析处理
3.保存数据
保存形式多样,可以存为文本,也可以保存到数据库,或者保存特定格式的文件。
保存方式:
文本:纯文本,excel, Json, Xml等
关系型数据库:如mysql, oracle, sql server等结构化数据库
非关系型数据库:MongoDB, Redis等key-value形式存储