本文基于各个大佬的文章
上点关注下点赞,明天一定更灿烂!
前言
暑假在家闲来无事,网上冲浪刷到了爬虫教程,目前正在学习中。本文即记录所学内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是爬虫?
爬虫一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。它模拟人类浏览网页的行为,发送请求,获取网页源代码,再通过解析、提取等技术手段,从而获取所需数据。
二、爬取概述
1.获取网页
爬虫首先要做的工作就是获取网页,源代码里包含了网页的部分有用信息,爬虫首先要获取网页的源代码。
2.提取信息
获取网页源代码后,接下来就是分析网页源代码,从中提取我们想要的数据。首先,最通用的方法便是采用正则表达式提取,这是一个万能的方法,但是在构造正则表达式时比较复杂且容易出错。另外,由于网页的结构有一定的规则,所以还有一些根据网页节点属性、CSS 选择器或 XPath 来提取网页信息的库,如 Beautiful Soup、pyquery、lxml 等。使用这些库,我们可以高效快速地从中提取网页信息,如节点的属性、文本值等。提取信息是爬虫非常重要的部分,它可以使杂乱的数据变得条理清晰,以便我们后续处理和分析数据。
3.保存数据
这里保存形式有多种多样,如可以简单保存为 TXT 文本或 JSON 文本,也可以保存到数据库,如 MySQL 和 MongoDB 等,还可保存至远程服务器。
4.自动化程序
自动化,顾名思义,爬虫可以代替人来完成这些操作。爬虫就是代替我们来完成这份爬取工作的自动化程序,它可以在抓取过程中进行大量数据的处理,各种异常处理、错误重试等操作,确保爬取持续高效地运行。
三、了解session和cookie
1.无状态HTTP
HTTP 的无状态是指 HTTP 协议对事务处理是没有记忆能力的,也就是说服务器不知道客户端是什么状态。当我们向服务器发送请求后,服务器解析此请求,然后返回对应的响应,服务器负责完成这个过程,而且过程是完全独立的,服务器不会记录前后状态的变化。
这时两个用于保持 HTTP 连接状态的技术就出现了,它们分别是 Session 和 Cookies。Session 在服务端,也就是网站的服务器,用来保存用户的 Session 信息;Cookies 在客户端,也可以理解为浏览器端。
有了 Cookies,浏览器在下次访问网页时会自动附带上它发送给服务器,服务器通过识别 Cookies 并鉴定出是哪个用户,然后再判断用户是否是登录状态,进而返回对应的响应。
2.Session
在 Web 中,Session 对象用来存储特定用户 Session 所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户 Session 中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有 Session,则 Web 服务器将自动创建一个 Session 对象。
当 Session 过期或被放弃后,服务器将终止该 Session。可以理解为登陆过期。
3.Cookies
指某些网站为了辨别用户身份、进行 Session 跟踪而存储在用户本地终端上的数据。,比如用户名和密码等等。