页面解析和数据提取
一般来讲对我们而言,爬虫需要抓取的是某个网站或者某个应用的内容,提取有用的数据。响应内容一般分为两种,非结构化的数据 和 结构化的数据。
- 结构化数据:先有结构、再有数据
- 非结构化数据:先有数据,再有结构,
- 不同类型的数据,我们需要采用不同的方式来处理。
结构化的数据处理
HTML 文件
- 正则表达式
- XPath
- CSS选择器
JSON 文件
- JsonPath
- JSON 模块转化成Python类型进行操作
XML 文件
- lxml模块 模块转化成Python类型进行操作
- XPath
- CSS选择器
- 正则表达式
非结构化的数据处理
普通文本文件(如提取电话号码、邮箱地址等)
正则表达式
JavaScript 文件、CSS 文件(提取特定值等)
正则表达式
二进制文件(图片、音乐、视频等)
无法提取,直接保存指定格式的磁盘文件