爬虫 NO.1

本文介绍了网络爬虫的基本概念、类型及其原理,以及Web前端的HTTP基础、HTML、CSS和JavaScript的应用。详细讲解了爬虫的Python实现和Web前端的请求响应机制,强调了HTML标签、CSS选择器和JavaScript在动态网页中的作用。
摘要由CSDN通过智能技术生成

第一章 爬虫简介

1.1 网络爬虫概况

网络爬虫可以按照指定的规则(网络爬虫的算法)自动浏览或抓取网络中的信息,而且可以用python进行代码和脚本的编写。按照书中的python编辑器,爬虫系列代码将采用pycharm进行编写,他有许多代码错误检查程序,更加方便。

网络爬虫可以分成三种类型,分别是通用网络爬虫、聚焦网络爬虫和增量式网络爬虫。这三种爬虫各有优缺点,如通用网络爬虫的爬取数据量大,但是速度慢,对硬盘要求高;聚焦网络爬虫专一于某个主题,不会对所有网站爬取,可以做到精简,专业性强;而增量式网络爬虫则是面向更新的网页,没有发生更新的页面不会爬取,减少了数据量,同时也更适用于新闻等网站。

1.2 网络爬虫基本原理

用流程图来表示:

具体的流程:

1.获取初始的 URL ,该 URL 地址是用户自己制定的初始爬取的网页。

2.爬取对应 URL 地址的网页时,获取新的 URL 地址。

3.将新的 URL 地址放入 URL 队列。

4.从 URL 队列中读取新的 URL ,然后依据新的 URL 爬取网页,同时从新的网页中获取新的 URL 地址,重复上述的爬取过程。

5.设置停止条件,如果没有设置停止条件,那么爬虫会一直爬取下去,直到无法获取新的URL地址为止。设置了停止条件后,爬虫将会在满足停止条件时停止爬取。

第二章 Web前端初探

2.1 HTTP基本原理

当我们在进行上网时,会在浏览器中进行访问网页,如在火狐浏览器中输入CSDN网址,则火狐浏览器就是客户端,而CSDN官网就是服务器。将CSDN网址输入后,按回车键,就代表客户端向服务器发出请求,等待服务器接收请求后,服务器就会将内容传从给客户端,这就是访问操作,此过程需要通过HTTP协议实现。

HTTP,就是超文本传输协议,利用TCP在服务器和客户端之间传输信息。HTTP基本原理如下图:

HTTP协议就是通过URL获取的IP地址进行交流,对服务器发送请求,然后服务器返回响应,构成来回的信息交流,完成访问。 另外,还应该介绍HTTP协议的常见的请求方法,会在爬虫工作中经常看到,如下:

2.2 HTML语言

2.2.1 HTML定义说明

HTML为纯文本类型的语言,我们在浏览器中看到的新闻都是由HTML语言转化来的。在点击进入一个具体新闻页面时,按Ctrl+U即可得到当前页面的HTML源码。

HTML源码中的文本都是由标签决定,最简单的一组标签如:<元素名称>要控制的元素</元素名称>。可以看出<元素>和</元素>是同时出现的,如果要在元素中添加属性,则变成<元素   属性1="值1"  属性2="值2">内容(元素资料)</元素>,这就是一个完整的一组HTML标签。同时,标签也不全都是成对出现,有一些标签是单个出现,如<br>标签。

元素,也就是在标签内部的文字加上标签本身。所以建立一个最简单的网页只需要两个子元素,即<head>标签和<body>标签,代表网页的标题和内容。如下图:

 此时,将该源码直接放入浏览器后,浏览器就会弹出一个名为“文件标题”的网页,内容为“文件正文”。从这就可以大致看出HTML文件的大致格式及写法。

2.2.2 常见HTML标签

1.<html>文件开始标签,它是成对出现的,头标签在文件的最前端,尾标签在文件的最后端,其他所有标签和内容都在它的范围里。

2.<head>文件头部标签,它的里面不会放置任何正文内容,一般都是放置网页标题及URL信息。如果其中加入了<title>标签,那么该标签里面的内容将会以网页标题的身份出现在网页窗口中。

3.<title>文件标题标签,在<head>标签中已有说明,主要是引出标题内容,一般是存放在<head>标签中,展示网页标题。

4.<meta>元信息标签,它是单个出现的标签,没有结束标记,在这个标签的尖括号内的内容都属于meta内容。它具有两个属性,name和http-equiv,而name属性最常用,用于描述网页内容。

5.<body>页面主题标签,在其中就是整个页面的正文部分,以<body>为开头,以</body>为结尾。其中属性见下表:

2.3 CSS层叠样式表

2.3.1 CSS概述

CSS是一种标记语言,用于对HTML文件的布局进行定义,也就是修饰。HTML文件在不进行美化的条件下,网页会很枯燥,没有吸引力,但是经过CSS的改善,会让网页焕然一新,对比如下:

那么如何使用CSS进行修饰呢?在这里不过多介绍,主要介绍进行修饰时,所遇到的标签选择问题。那么CSS拥有三种选择方法:属性选择器,类选择器和ID选择器。

2.3.2 属性选择器

属性选择器,顾名思义就是根据属性来选择,例如一个p标签,<p font="fontsize">编程图书</p>,其中font="fontsize"就是属性font+属性值fontsize。而利用属性选择器进行改变时,需要声明属性和属性值,声明方法是[att=val]{}。其中,att代表属性,val代表属性值。例如,想要改变字体颜色,则选取颜色属性color,按照如下代码实现:

[color=red]{
    color:red;
}

2.3.3 类和ID选择器

这两种选择器也是广泛使用的,但是相较于属性选择器麻烦一点,并且对于这两种选择器而言,也有区别。第一,ID选择器前面含有“#”号,类选择器前含有“.”号,如(#或 . )intro{color:red;}。第二,ID选择器引用id属性的值,类选择器引用class属性的值,由此看来这两种选择的对象比较单一,无法对所有属性进行选择,所有遇到属性多的任务时,应选用属性选择器。

2.4 JavaScript动态脚本语言

前端,就是指HTML、CSS和JavaScript。JavaScript是一种可以嵌入HTML代码中由客户端浏览器运行的脚本语言。在网页中执行JavaScript代码,可以实现网络特效和用户与网络的动态交互。编辑JavaScript程序可以使用任何一种文本编辑器,如Windows中的记事本、写字板等应用软件。由于JavaScript程序可以嵌入HTML文件中,因此,读者可以使用任何一种编辑HTML文件的工具软件,如 Dreamweaver和WebStorm等。

在web页面,有两种方法可以使用JavaScript代码:1.在页面中直接嵌入JavaScript代码,因为它可以加入HTML中,可以被浏览器直接识别执行。在加入的时候,将JavaScript语言用<script>...</script>标签框起来,在嵌入HTML文件中。2.链接外部JavaScript文件。如果脚本复杂或该脚本需要在很多页面执行,就可以先对代码进行保存,等到运用时,链接JavaScript文件即可。

2.5 小结

本章介绍Web前端的知识,包含HTTP的基本原理、浏览器中的请求与响应,然后介绍HTML和组成HTML的标签。接着介绍CSS层叠样式及CSS中的选择器。最后学习JavaScript动态脚本语言,通过JavaScript可以在HTML中实现网页特效的功能。

由于跟爬虫关系不大,所以不作详细介绍和案例分析,详情见之后文章。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机懒人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值