2021年第一份教程:网页数据爬虫抓包入门教程上

网页数据抓包入门教程上

​ 最近几年python火了,很多小伙伴业内的业外的都想要学一学,但是我在网上搜教程,发现知识都很散,没有一条系统的主线可以串联,导致很多小伙伴在自学的时候往往需要浪费很多不必要的时间;我一直认为,人的脑容量是有限的,我们不可能在短时间内掌握所有的知识,所以我们在短时间内只需要定一个小目标,然后把完成这个目标的大纲或者目录拿下来,最后需要用什么,再跟随目录去学习,掌握需要用到的内容,这样才能最大化自己大脑算力的利用率。

这一次我想要系统的把爬虫讲一讲;作为入门后学习的第一阶段,用爬虫来让自己的编程思维与学习的计算机语言交流方式融会贯通是非常有效且有利的,毕竟爬虫也是近年来的热门,在这个领域能做好也是能有不错收益的。以下我将介绍以下我的教程大纲,希望大家能够帮助大家构建自己学习目录:

一 . 网页数据的基本认识
  • 认识链接(URI与URL)
  • 认识网页的语言(HTML)
  • 网页的构成()
二 . 网页的爬取
  • 认识爬虫协议
  • 书写爬虫程序
  • 数据持久化
  • 代理ip的使用(补充)
三 . 多线程操作
  • 线程
  • 线程池

以上是我接下来的教程大纲,当然,在接下来的实际教程中有些时候我也会对局部进行拓展,大家按需学习,话不多说,开始我们的学习吧

1.1 认识链接

​ 我们平时输入的链接,其实是由多个部分构成,常见的网址一般为 https// 域名(IP地址) : 端口号 / 资源路径

​ http或者https是我们超文本传输的协议,因为我们常常浏览的网页其实就是超文本,HTML是书写超文本的语言,hppt就是我们超文本传输的一种协议。协议简单来说,就是请求响应式协议,你在想要浏览一个网页时,输入链接,就是发起了请求,这个时候,服务器收到你的请求以后,给你页面,这就是响应。

一般来讲,我们输入或打开一个连接的时候,我们的的浏览器会自动生成请求,这个请求一般由三部分构成:请问行/请求头/消息体

——请求行里有我们的行为清单:我们要干什么做什么,让服务器一目了然自己能不能处理我的请求

——请求头里有我们的基本信息:告诉服务器我们的额外信息(我是谁,我用的什么浏览器,我的身份信息是,,,,)让服务器判断你的身份,比如你以前有没有登录过,是不是会员啥的

——消息体里有你要给服务器发的数据:你输入的账号密码,验证码,上传的图片文字音视频等等

那么服务器收到我们的请求判断了以后,也会给我响应,响应里也有响应行响应头消息体

——响应行首先会告诉我们是否成功受理了请求:这里会给一个响应状态码,200范围内都是成功了,我们一般办不到这个响应码,300范围内,一般是外链接,它会再次跳转一个页面,400范围内就是你的请求有问题,比如网页不存在,被这个网站禁止访问等等,常见的403,就是你请求的页面不存在

——响应头里都是键值对,里面有服务器给浏览器的信息

——消息体里就是服务器给我们的数据了,我们请求了图片,就获得了图片的二进制数据,请求了网页,就获取了网页的源代码,浏览器会执行代码,我们就看到了网页

IP地址或者域名,就是主机或者服务器的地址,我们或者可以理解为python中的变量名,端口号我们一般都没有写,服务器会自动判断用哪个端口处理我们的请求。

资源路径表明我们要请求的内容在服务器的哪个位置,服务器一般会根据我们的资源路径索引出我们想要的数据

1.2 认识网页的语言w

我们的网页其实是超文本,本质上是文本内容,但是用不同的标签,让它可以有无数不同的呈现,比如你写一句话,我给这句话粘上各种不同的修饰,加个框,上个色,放大一下等等

所以,网页的内容,都是写在标签里的,而这种书写的语言,我们目前最常用的就是HTML超文本标记语言,它一般是这样构成的:

<html>
    <head>
        写在这里的内容不会显示在浏览器窗口
        但是这里却包含了网页比较重要的元信息
    </head>
    <body>
        写在这里的内容会显示在浏览器窗口中
    </body>
</html>

一个大HTML开头结束,中间一个头部,一个身体,头部的内容看不到,但是会控制身体的呈现方式,身体的内容才会真正的让我们看到

我们可以在body标签内放各种我们想让用户看到的内容放一个列表,一首诗,一段视频,一张图片,放这些内容,当然也是要加标签的,

<html>
    <head>
        写在这里的内容不会显示在浏览器窗口
        但是这里却包含了网页比较重要的元信息
    </head>
    <body>

    <div>
        <p>
        这是一个段落。这是一个段落。这是一个段落。这是一个段落。
        这是一个段落。这是一个段落。这是一个段落。这是一个段落。
        </p>
    </div>

    <p>Overflow-x 是否对内容的左/右边缘进行裁剪。</p>
    <p>Overflow-y 是否对内容的上/下边缘进行裁剪。</p>

    </body>
</html>

以后我们见到的页面基本都是这个样子,架子的样子,至于其他要加多少内容,往这架子里加东西就ok了

1.3 网页的构成

网页由HTML语言书写,有头部控制的身体,那么具体哪些东西构成的呢?

——标签 标签承载数据,我们的所有数据是不是都放在标签下的?

——层叠样式表 CSS 层叠样式表控制显示,负责渲染页面(装饰页面)(头部)

——JavaScript(JS) JS控制页面上的交互行为 (没有JS写出来的网页只能看,不能进行任何操作)

<html>
    <head>
        <style>
            p{
                color: brown;
                font-size: 32px;
                text-align: center;
            }
            </style>
    </head>
    <body>
        <p>床前明月光</p>
        <p>疑是地上霜</p>
        <p>举头望明月</p>
        <p>低头想你家</p>
    </body>
</html>

上面这一小段HTML代码简单的带大家了体验一下头部和身体的关系,请大家写一下。

”这一段内容无用,去掉“
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        #aaaa{
            border: 1px dashed darkgrey;
            width: 240px;
            height: 120px;
            margin: 50px auto;
        }
        #aaaa >p>input{
            width: 234px;
            height: 36px;
            border: none;
            outline: none;
            border-bottom: 1px dashed green;
        }
       #aaaa input[type=submit] {
           border: none;
           margin-top:4px;
           color: white;
           background-color: rgb(136, 211, 145);
       }
    </style>
</head>
<body>
    <form id="aaaa"action="" method="POST">
        <p>
            <input type="tel" placeholder="手机号">
        </p>
        <p>
            <input type="password" placeholder="密码">
        </p>
        <div>
            <p>
                <input type="radio" name="sex" checked>男
                <input type="radio" name="sex">女
            </p> 
            <p>
                <input type="checkbox">同意版网站协议
            </p>
        </div>
        <p>
            <input type="submit" value="登录">
            <input type="submit" value="关注Sahara Laterr">
            <input type="reset" value="重置">
        </p>
</body>
</html>

作业:重复写出以上登录框,整理清楚头部与身体,先写出身体,而后逐个添加头部的功能,打开页面,体会变化

猜你喜欢

转载自blog.csdn.net/SaharaLater/article/details/112389787