爬虫基本原理和概念

目录

 

爬虫基本流程

1.发起请求

2.获取相应内容

3.解析内容

4.保存数据

Request&Response

Request中包含什么

1.请求方式

2.请求URL(统一资源定位符)

3.请求头(请求的配置信息)

4.请求体

Response中包含什么

1.响应状态

2.响应头

3.响应体

能抓怎样的数据

解析方式

保存数据


爬虫基本流程

1.发起请求

通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器相应

2.获取相应内容

若服务器能正常相应,会得到一个Response,response的内容便是所要获取的页面内容,类型可能有HTML,json字符串,二进制数据(图片视频)等类型

3.解析内容

HTML,可以用正则表达式,网页解析库进行解析

json,直接转为json对象解析

二进制数据,保存或进一步的处理

4.保存数据

可以存为文本,也可以保存至数据库,或者保存特定格式的文件

Request&Response

(1)浏览器发送消息给该网址所在的服务器(HTTP Request)

(2)服务器收到消息后,根据浏览器发送消息的内容,做相应处理,然后把消息回传给服务器(HTTP Responce)

(3)浏览器收到服务器的Responce信息后,会对信息进行相应处理,然后展示

Request中包含什么

1.请求方式

GET   POST

HEAD   PUT   DELETE   OPTIONS

 

GET与POST差别

GET

POST

请求信息

请求信息在链接中

请求信息包含在Form Data

构建请求方式

输入URL回车直接访问

通过构造表单点击表单提交

 

2.请求URL(统一资源定位符)

如一个网页文档,一张图片,一个视频都可以用URL唯一来确定

3.请求头(请求的配置信息)

包含请求时的头部信息

cookie:保持登录会话

User-Agent:指定浏览器请求头

告诉服务器请求的文档类型,携带的cookie,浏览器配置,服务器判断信息是否合法,根据解析结果返回相应的文件内容,爬虫一般加上Request Headers以保证请求正常运行

4.请求体

请求时额外携带的数据

在POST请求方式中的Form Data中

Response中包含什么

1.响应状态

200:正常

300以上:跳转

500以上:服务器处理错误

2.响应头

内容类型,内容长度,服务器信息,设置cooike等

3.响应体

包含请求资源的内容,如网页HTML,图片二进制数据等

能抓怎样的数据

网页文本    HTML文档,Json格式文本等

图片    获取到的是二进制流,将二进制文件保存为图片格式

            with open('文件名','wb') as f:

                f.write(二进制流)

视频    同图片为二进制数据

其他    能请求到的都能获取

解析方式

1.直接处理

2.Json解析

3.正则表达式

4.BeautifulSoup

5.PyQuery

6.XPath

保存数据

1.文本    纯文本,JSon,Xml等

2.关系型数据库    如MySQL,Oracle,SQL Sever等具有结构化表结构形式存储

3.非关系型数据库    如MongoDB,Redis等Key-Value形式存储

4.二进制文件

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值