Python网络爬虫(一):HTML/CSS/JavaScript介绍

1 HTML语言

        1.1 HTML简介

        HTML指的是超文本标记语言:HyperText Markup Language,它不是一门编程语言,而是一种标记语言,即一套标记标签。HTML是纯文本类型的语言,使用HTML编写的网页文件也是标准的文本文件,可以使用任意的文本编辑器例如记事本打开HTML文件,查看并修改HTML源代码。当用浏览器打开网页时,浏览器读取网页中的HTML代码,分析其语法结构,然后根据解释的结果显示网页内容。

        1.2 HTML结构

        下图是一个基本的HTML文档:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>这是一个网页</title>
</head>
<body>
    <img src="词云图.png" width="500" height="700">
</body>
</html>
</html>

        该HTML文档的浏览器端显示如下: 

        其中,<!DOCTYPE html>用于指定文档的类型;<html>标签为文档的根标签,该标签不带任何属性;<head>标签是头标签,用来规定文件的标题、编码方式和url等信息;<body>标签为文档的主体标签,有很多的属性设置,如下表所示:

<body>标签的属性及其描述
属性描述
text设定页面文字的颜色
bgcolor设定页面背景的颜色
background设定页面的背景图像
bgproperties设定页面的背景图像为固定,不随页面的滚动而滚动
link设定页面默认的链接颜色
alink设定鼠标正在单击时的链接颜色
vlink设定访问过后的链接颜色
topmargin设定页面的上边距
leftmargin设定页面的左边距

2 CSS层叠样式表

        2.1 CSS概述

        CSS是Cascading Style Sheets的缩写,中文名叫层叠样式表,是一种标记语言,用于为HTML文档定义布局,涉及字体、颜色、边距、高度、宽度、高级定位等方面。

        2.2 选择器

        网页可以分为三个部分:结构(html)、表现(CSS)、行为(JavaScript)。CSS可以改变HTML中标签的样式,但是要告诉CSS改变谁、改什么。选择器就是用来告诉CSS改变谁,具体的有属性选择器、类和ID选择器。使用CSS改变元素样式有三种方式。

        2.2.1 内联样式 行内样式

        在标签内部通过style属性设置元素样式,开发时不要使用内联样式

<body>
    <p style="color: red; font-size: 50px;">人之初</p>
</body>

        2.2.2 内部样式表

        将样式表编写到head中的style标签里,然后通过CSS的选择器来选中元素并为其设置各种样式,可以同时为多个标签设置样式,修改时只需要修改一次。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>

    <style>
        p{color: red; font-size: 30px;}
    </style>

</head>

<body>
    <p style="color: blue; font-size: 50px;">人之初</p>
    <p2>性本善</p2>
    <p>性相近</p>
    <p>习相远</p>
</body>
</html>

        样式如下: 

         由图可以看出:内部样式表对设置过属性的标签都有效,但如果同时存在内联样式和内部样式表时以内联样式为准

         2.2.3 外部样式表

        可以将CSS编写为外部CSS文件,在html中通过link标签引入外部CSS文件。将样式编写到外部CSS文件中,可以使用到浏览器的缓存机制,从而加快网页的加载速度。

p{
    color: blue;
    font-size: 90px;
}

        上述代码是外部CSS文件index.css的代码,index.css放在和网页html文件的同级目录下(当然也可以自己指定目录)。html代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>

    <link rel="stylesheet" href="index.css">

</head>

<body>
    <p>人之初</p>
    <p>性本善</p>
    <p>性相近</p>
    <p>习相远</p>
</body>
</html>

        网页效果如下:

3 JavaScript   

        JavaScript是一种可以嵌入在HTML代码中由客户端浏览器运行的脚本语言。在网页中使用JavaScript代码,不仅可以实现网页特效,还可以响应用户请求实现动态交互的功能。

        通常情况下,在Web页面中使用JavaScript有三种方法,分别是行间事件、页面script标签嵌入、外部引入。

        3.1 行间事件

        行间事件主要用于事件,示例代码如下:

        

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS引入方式之行间事件</title>
</head>
<body>
    <!-- 第一种嵌入js的方式:行间事件  -->
    <input type="button" name="点我" value="点击" onclick="alert('hello!');">
</body>
</html>

        页面效果如下:

        3.2 页面script标签嵌入 

        在HTML文件中可以使用<script>...</script>标签将JavaScript脚本嵌入到其中。在HTML文档中可以使用多个<script>标签,每个<script>标签中可以包含多个JavaScript的代码集合。<script>标签常用的属性及其说明如下表所示:

<script>标签常用的属性及其说明
属性说明
language设置所使用的脚本语言及版本
src设置一个外部脚本文件的路径位置
type设置所使用的脚本语言,此属性已代替language属性
defer此属性表示当HTML文档加载完毕后再执行脚本语言

        示例代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js引入方式一</title>
    <script type="text/javascript">
        alert("hello world!");
    </script>
</head>
<body>

</body>
</html>

        效果如下:

 3.3 外部引入js

        在Web页面中引入JavaScript代码的另一种方法是采用链接外部JavaScript文件的形式。如果脚本代码比较复杂或是同一段代码可以被多个页面所使用,则可以将这些脚本代码放置在一个单独的文件中(保存文件的扩展名为.js),然后在需要使用该代码的Web页面中链接该JavaScript文件即可。示例代码如下:

        这里,hello.js文件与html文件放在了同级目录下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/511858.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码重用攻击及栈溢出攻击

攻击一个软件曾经就像找到一个缓冲区溢出漏洞一样简单&#xff0c;用要执行的任意代码填充缓冲区并替换返回地址以指向这个新代码的开头。幸运的是&#xff0c;我们现在防止内存区域既可写又可执行&#xff0c;攻击者要么不能覆盖现有的代码&#xff0c;要么不能执行他们注入的…

蓝桥杯 204/4/2

目录 蚂蚁感冒 “蓝桥杯”练习系统 (lanqiao.cn) 时间显示 “蓝桥杯”练习系统 (lanqiao.cn) 蚂蚁感冒 “蓝桥杯”练习系统 (lanqiao.cn) 思路借鉴&#xff1a;AcWing 1211. 蚂蚁感冒 - AcWing 完整代码&#xff1a; #include <bits/stdc.h> #define int long lon…

蓝桥杯第八届c++大学B组详解

目录 1.购物单 2.等差素数列 3.承压计算 4.方格分割 5.日期问题 6.包子凑数 7.全球变暖 8.k倍区间 1.购物单 题目解析&#xff1a;就是将折扣字符串转化为数字&#xff0c;进行相加求和。 #include<iostream> #include<string> #include<cmath> usin…

ABC319 G - Counting Shortest Paths

解题思路 按照到的距离远近&#xff0c;进行分层为第一层分层步骤&#xff1a;用一个集合记录还未定层的点&#xff0c;用逐层确定对于当前点与其有连边的&#xff08;不是删边&#xff09;且还未确定的点&#xff0c;确定为的下一层&#xff0c;入队列没连边且还未确定的点&a…

适用于车载设备无钥匙进入系统汽车用晶振FA-238A

汽车用晶振FA-238A是一款适用于车载设备无钥匙进入系统的耐高温晶振。汽车用晶振FA-238A是爱普生推出一的款MHz表贴式晶体单元&#xff0c;具有很好的预率性能&#xff0c;符合AEC-0200标准&#xff0c;其封装尺寸仅为3.2x2.5x0.7mm&#xff0c;工作温度范围在-40℃~125℃之间&…

市场复盘总结 20240402

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率 50% 最常用的二…

最新版两款不同版SEO超级外链工具PHP源码

可根据个人感觉喜好自行任意选择不同版本使用&#xff08;版V1或版V2&#xff09; 请将zip文件全部解压缩即可访问&#xff01; 源码全部开源&#xff0c;支持上传二级目录访问 已更新增加大量高质量外链&#xff08;若需要增加修改其他外链请打开txt文件&#xff09;修复优…

探索牙科业务架构的优化与整合解决方案

在现代医疗领域中&#xff0c;牙科作为一个重要的分支&#xff0c;其业务架构和整体解决方案的优化与整合&#xff0c;对于提高诊疗效率、提升患者体验以及促进口腔健康水平具有重要意义。本文将深入探讨牙科业务架构的优化方向和整体解决方案&#xff0c;为牙科行业的发展提供…

基于SSM的“汽车销售分析与管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SSM的“汽车销售分析与管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SSM 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 销售经理系统首页图 客户管理图 车辆…

27.ReentrantLock

1.与synchronized不同点&#xff1a; 可中断可以设置超时时间可以设置公平锁&#xff0c;公平锁就是为了解决饥饿线程&#xff0c;让线程排队&#xff0c;先进先出&#xff0c;先来的线程先执行。支持多个条件变量 2.与synchronized相同点都支持锁的可重入。 基本格式&#…

js使用canvas实现画roi功能,并实现交集并集差集操作,附源码

效果概览 支持圆形&#xff0c;矩形&#xff0c;旋转矩形绘制&#xff0c;鼠标像素拾取&#xff0c;图片缩放&#xff0c;图片拖拽&#xff0c;像素测量&#xff0c;roi交集并集补集输出 TODO&#xff1a;实现自由路径绘制&#xff0c;与后台交互数据 实现原理 交集并集差集…

【HTML】标签学习(下.4)

&#xff08;Hello&#xff01;大家好哇&#xff0c;今天我们将继续学习HTML的相关知识&#xff0c;大家可以在评论区进行互动答疑哦~加油&#xff01;&#x1f495;&#xff09; &#xff08;续接【HTML】标签学习&#xff08;下.3&#xff09;&#xff09; 3.4.2 <label&g…

Java设计模式:代理模式的静态和动态之分(八)

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在软件设计中&#xff0c;代理模式是一种常用的设计模式&#xff0c;它为我们提供了一种方式来控制对原始对象的访问。在Java中&a…

Python快速入门系列-9(Python项目实战)

第九章:Python项目实战 9.1 开发一个简单的Web应用9.1.1 项目概述9.1.2 环境准备9.1.3 项目结构9.1.4 代码实现9.1.4.1 创建数据库模型9.1.4.2 创建视图9.1.4.3 实用工具函数9.1.4.4 运行应用9.1.5 模板设计9.2 数据分析与可视化项目9.2.1 项目概述9.2.2 环境准备9.2.3 数据分…

vulnhub之devguru靶场提权过程(vulnhub打靶日记)

一、环境搭建 VM版本&#xff1a;17.5.1 build-23298084 攻击机&#xff1a;Kali2024&#xff08;下载地址&#xff1a;https://www.kali.org/&#xff09; 靶机&#xff1a;vulnhub靶场Devguru&#xff08;下载地址&#xff1a;https://www.vulnhub.com/entry/devguru-1,62…

探索网红系统功能菜单架构的设计与优化

随着社交媒体和数字化内容的普及&#xff0c;网红经济正在成为新兴的产业。在网红经济体系中&#xff0c;网红系统的功能菜单架构对于平台的用户体验和运营效率至关重要。本文将深入探讨网红系统功能菜单架构的设计与优化&#xff0c;为网红经济的发展提供新的思路和方法。 --…

【Web】记录Polar靶场<困难>难度题一遍过

目录 上传 PHP是世界上最好的语言 非常好绕的命令执行 这又是一个上传 网站被黑 flask_pin veryphp 毒鸡汤 upload tutu Unserialize_Escape 自由的文件上传系统​​​​​​​ ezjava 苦海 你想逃也逃不掉 safe_include CB链 phar PHP_Deserializatio…

Stable Diffusion WebUI 图片信息(PNG Info)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 大家好&#xff0c;我是水滴~~ 本文主要讲解 Stable Diffusion WebUI 的图片信息功能&#xff0c;主要包括&#xff1a;获取生成参数、将图片发送到其…

Spark实战:词频统计

文章目录 一、Spark实战&#xff1a;词频统计&#xff08;一&#xff09;Scala版1、分步完成词频统计2、一步搞定词频统计 &#xff08;二&#xff09;Python版1、分步完成词频统计2、一步搞定词频统计 二、实战总结 一、Spark实战&#xff1a;词频统计 &#xff08;一&#x…

【黑马头条】-day05延迟队列文章发布审核-Redis-zSet实现延迟队列-Feign远程调用

文章目录 昨日回顾今日内容1 延迟任务1.1 概述1.2 技术对比1.2.1 DelayQueue1.2.2 RabbitMQ1.2.3 Redis实现1.2.4 总结 2 redis实现延迟任务2.0 实现思路2.1 思考2.2 初步配置实现2.2.1 导入heima-leadnews-schedule模块2.2.2 在Nacos注册配置管理leadnews-schedule2.2.3 导入表…