爬虫的工作流程
一个爬虫的工作流程可以分为以下几个步骤
(1)发起请求
通过HTTP 库向目标站点发起请求,即发送一个request,请求可以包含额外的 headers等信息,等待服务器响应。一个Request 通常必须包含请求方式、请求地址、请求头和请求体四个部分。
(2)获取响应内容
如果服务器能正常响应,我们就会得到一个response,response 的内容就是我们要获取的页面内容类型,包括HTML、JSON 字符串、二进制数据(如图片、视频)等类型。一个Response通常包含
- 响应状态,即HTTP的 Status_Code,通过判断 Status_Code 可以判断请求是否成功,常见的status_code有200、301、404、500。
- 响应头,标识响应内容类型、内容长度、字符编码格式、服务器相关信息、设置的 cookie信息等。
- 响应体,包含请求资源的内容,如网页 HTML、图片二进制等。
(3)解析内容
得到网页响应的内容后,我们要判断响应内容的类型。如果得到的内容是HTML,则可以用正则表达式Xpath、BeautifulSoup 等解析库进行解析。如果是Json等字符串形式,则需要用JSON 对象进行进一步的解析、抽取出可用的数据。如果是二进制的数据,则需要做保存或进一步的处理。
(4)保存数据
解析出来目标数据就是我们爬取的成果,我们可以根据需要进行保存。常见的数据保存方式为文本、CSV、数据库文件或二进制文件等。
完成了以上的工作之后,我们就拿到了想要爬取的目标数据,爬虫的工作就算是做完了。