介绍

爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。

目录

request入门 数据解析概述 爬虫实例

web请求过程

  • DNS域名服务器会将其转换成IP地址。
  • 用户端根据IP地址向服务器发起请求。
  • 服务器端可能会有负载均衡设备来平均分配所有的用户请求。在请求到达服务器后,会经过一些复杂的业务逻辑来处理用户请求。请求的数据可能在三个地方:分布式缓存系统,文件系统或者数据库中。从其中取出数据返回给浏览器。
  • 数据返回后,浏览器解析数据发现还有一些静态的资源(CSS,JS或者图片),然后再次发起请求。这些静态资源很有可能是在CDN上,如果在的话CDN服务器会再次处理用户的请求。
  • 最终在浏览器端看到完整的网页。 分为:
  • 服务器渲染
  • 客服端渲染

超文本传输协议

是一种用于传输超文本的应用层协议,是万维网的基础。HTTP是一个客户端-服务器协议,客户端通过发送HTTP请求与服务器进行通信,服务器则通过发送HTTP响应来响应客户端的请求。HTTP通常基于TCP/IP协议来传输数据,使用默认端口80。

HTTP协议定义了客户端和服务器之间传输的数据格式和规则,包括请求方法(如GET、POST)、状态码(如200、404)、头部字段(如Content-Type、Content-Length)等。

  1. 请求(Request):客户端向服务器发送请求,请求可以包含不同的方法(如GET、POST、PUT、DELETE等)和路径(URL)。

  2. 响应(Response):服务器收到客户端的请求后,会返回一个HTTP响应。响应包含状态码(Status Code)、头部字段(token,cookie,user-agent,referer)和消息体。

title:Example
collapse:open
from urllib.request import urlopen  
  
url = "http://www.baidu.com"  
resp = urlopen(url)  
  
print(resp.read().decode("utf-8"))
"""output:
...
全球领先的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求。百度超过千亿的中文网页数据库,可以瞬间找到相关的搜索结果。
...
"""