爬虫基本流程
- 发起请求
- 通过HTTP库向目标服务器发送Request,Request内可以包含额外的headers信息。
- 获取响应内容
- 如果服务器正常响应,会返回Response, 里面包含的就是该页面的内容。
- 解析数据
- 内容或许是HTML,可以用正则表达式、网页解析库进行解析。
- 或许是Json,可以直接转换为Json对象解析。
- 保存数据
- 可以存储为文本,也可以保存至数据库,或其他特定类型文件。
Response中包含的内容
- 响应状态
- Status Code:200
- 即状态码,一般200表示响应成功。
- 响应头
- Response Headers
- 内容类型,内容长度,服务器信息,设置Cookie等。
- 响应体
- 请求资源的内容,如网页源代码,二进制数据等。在学习中有迷茫不知如何学习的朋友小编推荐一个学Python的学习q u n 227 -435- 450可以来了解一起进步一起学习!免费分享视频资料
一般做网页请求的时候,可以先判断状态码是否是200,再取出响应体进行解析。
解析方式
- 直接处理
- Json解析
- 正则表达式
- BeautifulSoup
- PyQuery
- XPath
视情况选择合适的解析方式。
保存数据
- 文本保存
- 纯文本、Json、Xml等。
- 关系型数据库保存
- MySQL、Oracle、SQLServer等。
- 非关系型数据库保存
- MongoDB、Redis等Key-Value形式存储。
- 二进制文件
- 图片、视频、音频等特定文件。
Urllib库
Python内置的HTTP请求库
模块说明urllib.request请求模块urllib.error异常处理模块urllib.parseurl解析模块urllib.robotparserrobots.txt解析模块