网络抓取中的会话和 Cookie

扫描, Jan-24-20225 分钟阅读

在网络刮擦领域,你不能忽视会话和 cookie。大多数网络应用程序都依赖会话和 cookie 来记住每个不同的用户,从而为他们提供更好的用户体验。 但在网络编程世界中,会话和 Cookie 究竟是什么,它们又是如何发挥作用的呢?在本文中,我们将

在网络刮擦领域,你不能忽视会话和 cookie。大多数网络应用程序都依赖会话和 cookie 来记住每个不同的用户,从而为他们提供更好的用户体验。 

但是,在网络编程世界中,会话和 Cookie 究竟是什么,它们又是如何发挥作用的呢?在本文中,我们将回答所有这些问题,然后介绍如何在网络搜刮中使用会话和 Cookie。首先,我们从会话开始。

伙计们,让我们开始吧!

网上有哪些会议?

简单地说,会话就是设备与服务器之间的一系列用户交互。会话的持续时间可以从设备与服务器建立通信开始计算。当用户完成与网络应用程序的连接后,会话就会终止。

另一方面,当用户开始访问网站时,计时器会调用会话。网络服务器会将这些计时器设置为一个特定的时间段,当计时器缓存时,会话就会过期。

会议可分为

  1. 有状态:至少有一方保留通信信息。这意味着,当客户端与服务器建立通信时,服务器会通过检索先前会话数据的信息为用户提供服务。  
  2. 无状态:服务器不会在无状态会话中将客户端的数据保存在服务器上,以便在下一次会话中使用。相反,客户端会存储会话数据,并在需要时将其传递给服务器。这意味着,当客户端开始一个新会话时,它不是基于上一个会话中交换的数据。

让我们深入了解会话的功能,以便更好地理解这些概念。

会议如何运作?

虽然会话有多种类型,但其运行的基本原理是相同的。让我们从常见的会话类型 HTTP 会话开始。

HTTP 会话

当客户端设备通过网络浏览器向服务器发起连接请求时,服务器会接受请求,并通过创建会话返回响应。在返回响应的同时,服务器还会返回会话 ID。然后,客户端发送带有会话 ID 的进一步请求,浏览器随后做出响应。 

整个过程一直持续到用户终止。

会议的典型例子

会话的具体例子包括访问电子商务网页并向购物车添加物品、填写网页表格、滚动网页,以及学生登录门户网站查看成绩。

随后,在每次访问时,服务器和客户端都会使用会话 ID 交换数据。服务器上的临时目录会保存会话信息,例如您浏览过的页面、用户凭据、您在复选框或下拉列表中选择的数据、您在购物车中添加的物品等。

然后,您在网站上访问过的每个页面都能获得这些数据。

在某些网页上,网页开发人员会根据计时器设置会话。使用计时器的主要目的是阻止用户长时间进行理想的活动。超时后,这些会话就会过期,网络服务器会启动一个新的会话来进行进一步的交互。  

下图就是会话的一个例子。

为了提供独特的用户体验和会话,浏览器使用了一种叫做 Cookie 的概念。让我们在下一节中了解它。

什么是 cookie?

当客户端向服务器发起请求时,服务器会创建会话,并发送带有 cookie 的响应。现在,Cookie 是一些小数据,包括你访问过的网页、用户代理数据、你在网页上停留的时间、进入网站时的其他个人数据,以及你以前接受过的服务器创建的 Cookie。

服务器将这些数据存储在一个微小的文本文件中,然后发送给客户端。然后,客户端将 cookie 文件保存在用户的浏览器中。之后的每次请求,客户端也会发送这个 cookie 文件。然后,服务器检索属于该不同用户的会话数据,并将响应发送回客户端。 

上述过程如下图所示:

cookie 使用场景示例

假设您正在填写在线表格购买产品。在填写完所有个人信息并将商品选入购物车后,您不小心在结账前关闭了浏览器窗口。 

重新打开该窗口后,您会发现无需重新输入所有详细信息,也无需再次选择项目。您可以从您离开的地方继续操作。这一切都要归功于您刚刚学会的 cookie 会话组合。

如您所见,cookie-session 组合改善了用户体验,如果没有它们,网站将无法正常运行。

持久 cookie 与会话 cookie

会话 cookie 会在您关闭浏览器时被清除,因此不会在您的设备上保留任何信息。此外,它也不会将任何信息发送出您的设备。

相比之下,持久 Cookie 保存在你的硬盘中,直到过期或被你删除。这些 cookie 会收集有关您的浏览历史、在特定网页上停留的时间、访问网站时使用的设备等数据。

Cookie 的使用案例

在大多数情况下,网络开发人员使用 cookie 为用户提供个性化体验。不过,众所周知,需要定制主题和登录凭据的网站最常使用 cookie。此外,如果进一步深入研究,你可能会发现它们还用于会话管理和跟踪。让我们逐一了解一下:

会话管理

你已经知道,会话是与网站的持续交互,直到用户终止或计时器终止会话。因此,在网页上启用 cookie 后,它们会存储每个会话数据,这样用户就不必在在线表格中填写所有信息,甚至在不小心关闭浏览器窗口时也不必重新登录。 

因此,所有这些操作都可简化网页浏览,使您不必执行重复性任务。

跟踪

特定的 cookie 被称为跟踪 cookie,可在众多网站或服务中跟踪用户并收集数据。这些公司将跟踪 cookie 收集的数据用于直接营销,如定向广告。

跟踪 Cookie 通过在浏览网站时向浏览器投放一个文本文件来运行。该文本文件收集的数据包括用户在网站上的活动、地理位置、浏览历史以及客户购买时使用的不同趋势。  

使用目标 Cookie 是否符合道德规范不在本文讨论范围之内,但无疑会给用户带来困扰。但用户可以删除这些 cookie,因为他们没有义务浏览这些广告。

您当然可以通过谷歌搜索来扩展这一主题。

个性化偏好

在浏览网页时,每个人都有自己的喜好。网站所有者和网络开发人员都明白这一点,因此他们使用 cookie 来实现个性化偏好。这些个性化偏好包括根据位置、语言、浏览器类型、操作系统版本等向用户提供内容和销售服务。

网站可以更改内容,让人们轻松浏览页面。

cookie 与会话有何不同?

现在,我们希望您已经了解了会话和 Cookie。Cookie 会在用户电脑上存储用户的浏览信息和其他个人数据。相反,服务器会创建一个会话,暂时保存数据,并在用户关闭与网站的交互时终止。

另一方面,Cookie 会在过期或用户删除时留在电脑上。

下表进一步概括了这些差异:

会话与 Cookie

网络搜刮中如何使用会话和 cookie?

会议

说到网络搜刮中的会话,代理可以起到桥梁的作用。例如,当你连接到一个网站进行数据搜刮时,网站的服务器会在你和网站之间创建一个会话。

因此,有些网站在搜索大型数据集时可能会设置超时。再有,当你从同一个 IP 地址发送大量请求时,目标网站会认为你在进行可疑活动,从而屏蔽你。

因此,您需要使用住宅代理轮流处理请求,为每个请求建立多个会话。 

上述方法的显著优势在于,您不仅可以并行搜索数据,还可以在发送有机流量时显示目标网站。

因此,目标网站最不可能屏蔽你。此外,由于这个原因,网络刮擦主要与旋转会话而非粘性会话有关。  

有关这两种会话类型的更多信息,请参阅 "粘性会与旋转会话"一文。

曲奇

我重申,网络搜刮的主要障碍是避开目标网站设置的障碍。现在,我们已经研究了会话如何通过旋转代理来克服这一障碍;但是,仅靠会话并不能解决问题。

如上文部分章节所述,目标网页服务器会向客户端设备发送 cookie。因此,当你向某些网页提出搜刮数据的请求时,你需要访问正确的 cookies 才能访问所需的数据。 

例如,假设您访问的电子商务网站的某个产品页面不提供 cookie。那么目标网站就很有可能将您识别为僵尸活动。

因此,作为解决这一问题的补救措施,您可以首先访问该特定电子商务网站的主页并获取 cookie 数据文件。然后,你可以使用多个住宅代理与 cookie 文件一起发送刮擦请求。

这种方法的主要好处是,目标网站最不可能因为你没有发送相关的 cookie 文件而屏蔽你。此外,在目标网站看来,不同的请求来自不同的用户。

结论

我们希望您能通过本文更深入地全面了解会话和 Cookie 的含义。Cookie 和会话是网络搜刮不可或缺的一部分,因为不了解它们的运作方式会导致目标网站屏蔽它们。

正确使用 cookie 和会话以及代理服务器,你的网络搜刮过程无疑会顺利无阻。