爬虫涉及的基本原理

什么是爬虫?

请求网站并提取数据的自动化程序

爬虫基本流程?

  • 发起请求

通过HTTP库向目标站点发起请求

即发送Request,请求可包含额外的header等信息

等待服务器响应

扩展知识:

https://www.163.com/https://music.163.com/  有什么区别?

 

1."http"是浏览器通过服务器向网站发送请求的“语言”

2."https"是"http"的安全版本,浏览器会设置一个与服务器的加密链接,网上购物时最常见

 

3."www"是一个子域,如"www.google.com"子域名 与 "google.com"实际域名跳转时一样的

假设www.163.com 是整座办公楼群的主楼,核心楼。而music.163.com 是办公楼群中的某个功能楼。当你没有指定具体功能楼时,就会直接进入www.163.com 的主楼。而"www"子域涵盖了所有主要网站。

  • 获取响应内容

服务器正常响应,等到一个Response

内容可为HTML,Json字符串,二进制数据(图片视频)

扩展知识:

Json存在的意义?

什么是Json?

JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。

 

既然有了String,为什么还要Json?

Json字符串可以直接通过Json对象的xx.name来调用获取;但String需要通过各种切割和分组来获得,不方便。

 

Json字符串和Json对象的区别?

var person={"name":"zhangsan","sex":"男","age":"24"}//json对象

person='{"name":"zhangsan","sex":"男","age":"24"}';//json字符串

 

  • 解析内容

如果是HTML可以用正则表达式,网页解析库

如果是Json,可以直接转为Json对象

如果是二进制数据,可以进一步保存或处理

  • 保存数据​​​​​​​

 

 

 


  • Request包含什么?

请求方式

GET/POST

GET产生一个TCP数据包;POST产生两个TCP数据包。

  • 请求URL

全球性地址,用于定位网上的资源。

全球统一资源定位符。http://mail.163.com/index.html

  • 请求头

User-Agent, Host, Cookies

 

  • 请求体

请求时额外携带的数据:表单提交时的表单数据

 

  • Response包含什么?

响应状态

响应头

响应体

 

  • 能抓怎样的数据?

网页文本

图片

视频

其他

 

  • 如何解析?

直接处理

正则表达式

Json解析

BeautifulSoup

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值