Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 一级毛片免费视频观看 ,果贷一区二区三区在线,国产一区二区网站

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          網(wǎng)頁數(shù)據(jù)如何使用Python的方式進(jìn)行解析?

          網(wǎng)頁數(shù)據(jù)如何使用Python的方式進(jìn)行解析?

          介概述:

          使用特定引擎解析網(wǎng)頁里面得數(shù)據(jù),根據(jù)規(guī)則提取入庫(kù)

          常見的技術(shù):

          正則、xpath、pyquery、Beautiful Soup4

          一、正則

          開源測(cè)試工具 http://tool.oschina.net/regex/

          官網(wǎng):https://docs.python.org/zh-cn/3/library/re.html

          .

          匹配除 "\n" 之外的任何單個(gè)字符。要匹配包括 '\n' 在內(nèi)的任何字符,請(qǐng)使用象 '[.\n]' 的模式。

          \d

          匹配一個(gè)數(shù)字字符。等價(jià)于 [0-9]。

          \D

          匹配一個(gè)非數(shù)字字符。等價(jià)于 [^0-9]。

          \s

          匹配任何空白字符,包括空格、制表符、換頁符等等。等價(jià)于 [ \f\n\r\t\v]。

          \S

          匹配任何非空白字符。等價(jià)于 [^ \f\n\r\t\v]。

          \w

          匹配包括下劃線的任何單詞字符。等價(jià)于'[A-Za-z0-9_]'。

          \W

          匹配任何非單詞字符。等價(jià)于 '[^A-Za-z0-9_]'。

          1、match

          用法: 提取關(guān)鍵參數(shù) 比如 token sign 后端返回得簽名信息 算法

          • match 方法會(huì)嘗試從字符串的起始位置匹配正則表達(dá)式,如果匹配,就返回匹配成功的結(jié)果;如果不匹配,就返回 None
          import re
          content='Hello 123 456 welcome to world'
          print(len(content))
          result=re.match('^Hello\s\d\d\d\s\d{3}\s\w{7}', content)
          print(result)
          print(result.group())
          print(result.span())
          • group() 返回被 正則 匹配的字符串
          • start() 返回匹配開始的位置
          • span() 返回一個(gè)元組包含匹配 (開始,結(jié)束) 的位置

          方法

          說明

          group(num=0)

          匹配的整個(gè)表達(dá)式的字符串,group() 可以一次輸入多個(gè)組號(hào),在這種情況下它將返回一個(gè)包含那些組所對(duì)應(yīng)值的元組

          groups()

          返回一個(gè)包含所有小組字符串的元組,從 1 到 所含的小組號(hào)

          1)匹配數(shù)字

          import re
          content='Hello 123456 welcome to world'
          result=re.match('^Hello\s(\d+)\swelcome', content)
          print(result)
          print(result.group(1))
          print(result.span())

          2)通用匹配

          import re
          content='Hello 123 456 welcome to world'
          # 匹配所有數(shù)據(jù)
          result=re.match('^Hello.*ng$', content)
          # 匹配某某開始到某某結(jié)束
          result=re.match('^Hello(.*)ng$', content).group(1)
          print(result)
          print(result.group())
          print(result.span())

          3)貪婪和非貪婪

          • python默認(rèn)貪婪模式
          • 在"*","?","+","{m,n}"后面加上?,使貪婪變成非貪婪
          import re
          content1='http://xxxxx.com/yyds/baidu'
          result2=re.match('http.*com/(.*?)s', content1)
          result2=re.match('http.*?com/(.*)s', content1)
          print('result1', result1.group())
          print('result2', result2.group())

          4)修飾符

          re.I

          使匹配對(duì)大小寫不敏感

          re.L

          做本地化識(shí)別(locale-aware)匹配

          re.M

          多行匹配,影響 ^ 和 $

          re.S

          使 . 匹配包括換行在內(nèi)的所有字符

          re.U

          根據(jù)Unicode字符集解析字符。這個(gè)標(biāo)志影響 \w, \W, \b, \B.

          re.X

          該標(biāo)志通過給予你更靈活的格式以便你將正則表達(dá)式寫得更易于理解。

          import re
          # 這個(gè)修飾符的作用是匹配包括換行符在內(nèi)的所有字符。
          content='''Hello 1234567 World_This
          is a Regex Demo
          '''
          result=re.match('^He.*?(\d+).*?Demo$', content)
          result=re.match('^He.*?(\d+).*?Demo$', content,re.S)
          print(result.group())

          2、search

          用法: 提取數(shù)據(jù)

          re模塊中的search函數(shù)對(duì)整個(gè)字符串進(jìn)行掃描并返回第一個(gè)匹配的結(jié)果。從左到右進(jìn)行掃描

          1)匹配數(shù)據(jù)

          text='人生苦短,我用pythons'
          res1=re.search('python',text)
          data='result:{"name":"王五","age":"20"}'
          res3=re.search("{.*?}",data)

          2)正則提取案例

          地址:https://finance.ifeng.com/c/8HzIujEasuH

          url='https://finance.ifeng.com/c/8HzIujEasuH'
          from utils.base import Spider
          res=Spider().fetch(url)
          import re
          # 不帶符號(hào)
          # text=re.findall('var allData={(.*)};',res.text)
          # 帶符號(hào)
          # text=re.findall('var allData\s=\s(.*);',res.text)

          3)匹配中文

          [\u4e00-\u9fa5]
          s='大家晚上好asdasdsad'
          aa=re.findall('[\u4e00-\u9fa5]+',s)


          二、 Pyquery

          環(huán)境安裝

          pip install pyquery

          利用它,我們可以直接解析 DOM 節(jié)點(diǎn)的結(jié)構(gòu),并通過 DOM 節(jié)點(diǎn)的一些屬性快速進(jìn)行內(nèi)容提取。

          html='''
          <div id="cont">
          <ul class="slist">
          <li class="item-0">web開發(fā)</li>
          <li class="item-1"><a href="link2.html">爬蟲開發(fā)</a></li>
          <li class="item-0 active"><a href="link3.html"><span class="bold">數(shù)據(jù)分析</span></a></li>
          <li class="item-1 active"><a href="link4.html">深度學(xué)習(xí)</a></li>
          <li class="item-0"><a href="link5.html">機(jī)器學(xué)習(xí)</a></li>
          </ul>
          </div>
          '''

          1、實(shí)例演示

          from pyquery import PyQuery as pq
          doc=pq(html)
          print(doc('li'))

          2、css選擇器

          doc=pq(html)
          print(doc('#cont .slist li'))
          print(type(doc('#cont .slist li')))

          3、提取內(nèi)容

          for item in doc('#cont .slist li').items():
              print(item.text())

          4、子節(jié)點(diǎn)

          from pyquery import PyQuery as pq
          doc=pq(html)
          items=doc('.slist')
          print(type(items))
          print(items) # 提取節(jié)點(diǎn)所有內(nèi)容
          lis=items.find('li') # 獲取符合條件的li標(biāo)簽
          print(type(lis))
          print(lis)

          5、 屬性獲取

          from pyquery import PyQuery as pq
          doc=pq(html)
          a=doc('.item-0.active a')
          print(a, type(a))
          print(a.attr('href'))

          6、遍歷提取

          doc=pq(html)
          a=doc('a')
          for s in a.items():
              print(s.attr('href')) # 屬性獲取
              print(s.text()) # 值獲取


          三、 xpath

          插件下載:https://chrome.zzzmh.cn/index#/search

          XPath 的選擇功能十分強(qiáng)大,它提供了非常簡(jiǎn)潔明了的路徑選擇表達(dá)式。另外,它還提供了超過 100 個(gè)內(nèi)建函數(shù),用于字符串、數(shù)值、時(shí)間的匹配以及節(jié)點(diǎn)、序列的處理等。幾乎所有我們想要定位的節(jié)點(diǎn),都可以用 XPath 來選擇。

          官網(wǎng):https://www.w3.org/TR/xpath/

          安裝xpath解析庫(kù):

          pip install lxml

          表 3-1 XPath 常用規(guī)則

          表 達(dá) 式

          描  述

          nodename

          選取此節(jié)點(diǎn)的所有子節(jié)點(diǎn)

          /

          從當(dāng)前節(jié)點(diǎn)選取直接子節(jié)點(diǎn)

          //

          從當(dāng)前節(jié)點(diǎn)選取子孫節(jié)點(diǎn)

          .

          選取當(dāng)前節(jié)點(diǎn)

          ..

          選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)

          @

          選取屬性

          案例演示

          text='''
          <div>
          <ul>
          <li class="item-0"><a href="link1.html">first item</a></li>
          <li class="item-1"><a href="link2.html">second item</a></li>
          <li class="item-inactive"><a href="link3.html">third item</a></li>
          <li class="item-1"><a href="link4.html">fourth item</a></li>
          <li class="item-0"><a href="link5.html">fifth item</a>
          </ul>
          </div>
          '''

          1、解析

          from lxml import etree
          html=etree.HTML(text)
          result=etree.tostring(html)
          print(result.decode('utf-8'))

          2、節(jié)點(diǎn)操作

          我們一般會(huì)用 // 開頭的 XPath 規(guī)則來選取所有符合要求的節(jié)點(diǎn)。這里以前面的 HTML 文本為例,如果要選取所有節(jié)點(diǎn),可以這樣實(shí)現(xiàn):

          這里使用 * 代表匹配所有節(jié)點(diǎn),也就是整個(gè) HTML 文本中的所有節(jié)點(diǎn)都會(huì)被獲取。可以看到,返回形式是一個(gè)列表,每個(gè)元素是 Element 類型,其后跟了節(jié)點(diǎn)的名稱,如 html、body、div、ul、li、a 等,所有節(jié)點(diǎn)都包含在列表中了。

          result=html.xpath('//*')

          3、子節(jié)點(diǎn)

          result=html.xpath('//li/a')
          result=html.xpath('//li/a/text()') # 提取數(shù)據(jù)
          result=html.xpath('//li/a/@href') # 屬性值

          4、指定節(jié)點(diǎn)獲取

          result=html.xpath('//li[@class="item-0"]/a/text()')
          print(result)
          # ['first item', 'fifth item']

          5、匹配翻頁元素

          # 最后一個(gè)
          //div[@class="page"]/a[last()-1]
          # 下一頁
          //div[@class="page"]/a[text()="下一頁>"]/@href

          6、案例演示

          ? 說明:提取當(dāng)前網(wǎng)站的首頁標(biāo)題信息,要求使用xpath解析器

          from lxml import etree
          url1='https://www.icswb.com/channel-list-channel-162.html'
          res4=Spider().fetch(url=url1)
          html=etree.HTML(res4.text)
          li=html.xpath('//ul[@id="NewsListContainer"]/li')
          for i in li:
          href=i.xpath('./h3/a/text()')
          print(href)


          四、 Beautiful Soup

          簡(jiǎn)單來說,BeautifulSoup 就是 Python 的一個(gè) HTML 或 XML 的解析庫(kù),我們可以用它來方便地從網(wǎng)頁中提取數(shù)據(jù),官方的解釋如下:

          BeautifulSoup 提供一些簡(jiǎn)單的、Python 式的函數(shù)用來處理導(dǎo)航、搜索、修改分析樹等功能。它是一個(gè)工具箱,通過解析文檔為用戶提供需要抓取的數(shù)據(jù),因?yàn)楹?jiǎn)單,所以不需要多少代碼就可以寫出一個(gè)完整的應(yīng)用程序。
          BeautifulSoup 自動(dòng)將輸入文檔轉(zhuǎn)換為 Unicode 編碼,輸出文檔轉(zhuǎn)換為 utf-8 編碼。你不需要考慮編碼方式,除非文檔沒有指定一個(gè)編碼方式,這時(shí)你僅僅需要說明一下原始編碼方式就可以了。
          BeautifulSoup 已成為和 lxml、html5lib 一樣出色的 Python 解釋器,為用戶靈活地提供不同的解析策略或強(qiáng)勁的速度。

          表 4-1 Beautiful Soup 支持的解析器

          解析器

          使用方法

          優(yōu)勢(shì)

          劣勢(shì)

          Python 標(biāo)準(zhǔn)庫(kù)

          BeautifulSoup(markup, "html.parser")

          Python 的內(nèi)置標(biāo)準(zhǔn)庫(kù)、執(zhí)行速度適中 、文檔容錯(cuò)能力強(qiáng)

          Python 2.7.3 or 3.2.2) 前的版本中文容錯(cuò)能力差

          LXML HTML 解析器

          BeautifulSoup(markup, "lxml")

          速度快、文檔容錯(cuò)能力強(qiáng)

          需要安裝 C 語言庫(kù)

          LXML XML 解析器

          BeautifulSoup(markup, "xml")

          速度快、唯一支持 XML 的解析器

          需要安裝 C 語言庫(kù)

          html5lib

          BeautifulSoup(markup, "html5lib")

          最好的容錯(cuò)性、以瀏覽器的方式解析文檔、生成 HTML5 格式的文檔

          速度慢、不依賴外部擴(kuò)展

          通過以上對(duì)比可以看出,lxml 解析器有解析 HTML 和 XML 的功能,而且速度快,容錯(cuò)能力強(qiáng),所以推薦

          1、安裝

          pip install beautifulsoup4

          2、demo

          from bs4 import BeautifulSoup
          # 2個(gè)參數(shù) html 文本 解析引擎
          soup=BeautifulSoup('<p>Hello world</p>', 'lxml')
          print(soup.p.string)

          3、節(jié)點(diǎn)選擇器

          直接調(diào)用節(jié)點(diǎn)的名稱就可以選擇節(jié)點(diǎn)元素,再調(diào)用 string 屬性就可以得到節(jié)點(diǎn)內(nèi)的文本了,這種選擇方式速度非常快。如果單個(gè)節(jié)點(diǎn)結(jié)構(gòu)層次非常清晰,可以選用這種方式來解析。

          下面再用一個(gè)例子詳細(xì)說明選擇元素的方法:

          html="""
          <html><head><title>The Dormouse's story</title></head>
          <body>
          <p class="title" name="dromouse"><b>The Dormouse's story</b></p>
          <p class="story">Once upon a time there were three little sisters; and their names were
          <a href="http://example.com/elsie" class="sister" id="link1"><!-- Elsie --></a>,
          <a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
          <a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
          and they lived at the bottom of a well.</p>
          <p class="story">...</p>
          """
          from bs4 import BeautifulSoup
          soup=BeautifulSoup(html, 'lxml')
          print(soup.title)
          print(type(soup.title))
          print(soup.title.string)
          print(soup.head)
          print(soup.p)

          4、獲取屬性

          每個(gè)節(jié)點(diǎn)可能有多個(gè)屬性,比如 id 和 class 等,選擇這個(gè)節(jié)點(diǎn)元素后,可以調(diào)用 attrs 獲取所有屬性:

          print(soup.p.attrs)
          print(soup.p.attrs['name'])

          5、嵌套選擇

          html="""
          <html><head><title>The Dormouse's story</title></head>
          <body>
          """
          from bs4 import BeautifulSoup
          soup=BeautifulSoup(html, 'lxml')
          print(soup.head.title)
          print(type(soup.head.title))
          print(soup.head.title.string)

          6、select(根據(jù)選擇器選取指定內(nèi)容)

          標(biāo)簽選擇器(a),類選擇器(.dudu),id選擇器(#lala),組合選擇器(a, .dudu, #lala, .meme),層級(jí)選擇器(div.dudu#lala.meme.xixi 表示下面好多級(jí)和 div>p>a>.lala 只能是下面一級(jí) ),偽類選擇器(不常用),屬性選擇器 (input[name=‘lala’])

          1)樣例

          htmls="""
          <html>
              <head>
                  <title>The Dormouse's story</title>
              </head>
              <body>
                  <p class="story">
                      Once upon a time there were three little sisters; and their names were
                      <a href="http://example.com/elsie" class="sister" id="link1" title="xl">
                          <span>Elsie</span>
                      </a>
                      <a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> 
                      and
                      <a href="http://example.com/tillie" class="sister" id="link3" rel="noopener noreferrer ">Tillie</a>
                      and they lived at the bottom of a well.
                  </p>
                  <p class="story">...</p>
          """

          2)層級(jí)選擇器

          soup.select('.story > a > span')[0].text

          3)id選擇器

          print(soup.select('#link1'))

          4)提取屬性

          soup.select('#link1')[0].attrs['href']

          5)屬性選擇器

          print(soup.select("input[type='password']"))

          6)提取實(shí)際數(shù)據(jù)

          Web 開發(fā)中,解析 HTML 是一個(gè)常見的任務(wù),特別是當(dāng)我們需要從網(wǎng)頁中提取數(shù)據(jù)或操作 DOM 時(shí)。掌握 Node.js 中解析 HTML 的各種方式,可以大大提高我們提取和處理網(wǎng)頁數(shù)據(jù)的效率。本文將介紹如何在 Node.js 中解析 HTML。

          • Node.js 是什么?Node.js 如何安裝及如何配置環(huán)境?一文講解

          基本概念

          HTML 解析是指將 HTML 文本轉(zhuǎn)換為可操作的數(shù)據(jù)結(jié)構(gòu),通常是 DOM(文檔對(duì)象模型)。DOM 是一個(gè)樹狀結(jié)構(gòu),表示了網(wǎng)頁的結(jié)構(gòu)和內(nèi)容,允許我們使用 JavaScript 操作和修改網(wǎng)頁。

          常用的 HTML 解析方法

          以下是在 Node.js 中常用的幾種 HTML 解析方法:

          1.Cheerio:Cheerio 是一個(gè)類似于 jQuery 的庫(kù),它可以在服務(wù)器端使用 CSS 選擇器來解析 HTML 并操作 DOM。它適用于解析靜態(tài) HTML 頁面。

          2.jsdom:jsdom 是一個(gè)在 Node.js 中模擬 DOM 環(huán)境的庫(kù)。它能夠解析和操作 HTML,同時(shí)還支持模擬瀏覽器環(huán)境中的許多特性,如事件處理和異步請(qǐng)求。

          3.htmlparser2:htmlparser2 是一個(gè)快速的 HTML 解析器,它能夠?qū)?HTML 文檔解析成 DOM 節(jié)點(diǎn)流。它通常用于處理大型 HTML 文檔或流式數(shù)據(jù)。

          實(shí)踐案例:使用 Cheerio 解析 HTML

          以下是一個(gè)使用 Cheerio 解析 HTML 的實(shí)際案例,其中包含基本的路由與請(qǐng)求處理。確保你的開發(fā)環(huán)境中已經(jīng)安裝了 Node.js 和 npm。

          1、首先,創(chuàng)建一個(gè)新的文件夾,并在該文件夾中運(yùn)行以下命令初始化項(xiàng)目:

          npm init -y

          2、安裝所需的依賴庫(kù):

          npm install express cheerio axios

          3、創(chuàng)建一個(gè)名為 index.js 的文件,然后編寫以下代碼:

          const express=require('express');
          const axios=require('axios');
          const cheerio=require('cheerio');  // 引入 cheerio 庫(kù),用于解析 HTML
          
          const app=express();
          const PORT=3000;
          
          app.get('/', async (req, res)=> {
            try {
              // 使用 Axios 發(fā)起 GET 請(qǐng)求獲取網(wǎng)頁的 HTML 內(nèi)容
              const response=await axios.get('https://apifox.com/blog/mock-manual/'); // 替換為你想要解析的網(wǎng)頁 URL
              const html=response.data;  // 獲取響應(yīng)中的 HTML 內(nèi)容
              
              const $=cheerio.load(html);  // 將 HTML 文本傳遞給 cheerio,創(chuàng)建一個(gè)類似于 jQuery 的對(duì)象
              
              // 使用 cheerio 對(duì)象的選擇器來獲取網(wǎng)頁標(biāo)題,并提取文本內(nèi)容
              const title=$('title').text();  
              
              res.send(`Title: ${title}`);  // 將標(biāo)題作為響應(yīng)發(fā)送給客戶端
            } catch (error) {
              console.error(error);
              res.status(500).send('An error occurred');  // 發(fā)生錯(cuò)誤時(shí)發(fā)送錯(cuò)誤響應(yīng)
            }
          });
          
          app.listen(PORT, ()=> {
            console.log(`Server is running on port ${PORT}`);  // 啟動(dòng)服務(wù)器并監(jiān)聽指定端口
          });

          在上述代碼中,注釋解釋了每個(gè)關(guān)鍵步驟的作用:

          • 通過 axios.get() 發(fā)起 GET 請(qǐng)求,獲取網(wǎng)頁的 HTML 內(nèi)容。
          • 使用 Cheerio 的 $=cheerio.load(html) 創(chuàng)建了一個(gè)可用于選擇 DOM 元素的 Cheerio 對(duì)象。
          • 通過 $() 使用類似于 jQuery 的選擇器,獲取 <title> 元素的文本內(nèi)容。
          • 最后,將提取的標(biāo)題作為響應(yīng)發(fā)送給客戶端。在這個(gè)案例中,我們使用 Express 來創(chuàng)建一個(gè)簡(jiǎn)單的服務(wù)器,當(dāng)訪問根路由時(shí),我們使用 Axios 獲取網(wǎng)頁的 HTML 內(nèi)容,然后使用 Cheerio 解析并提取網(wǎng)頁標(biāo)題。在瀏覽器或 API 工具中訪問 http://localhost:3000/,你將看到響應(yīng)。
            • 什么是 axios?如何使用 axios?一文快速入門

          提示、技巧與注意事項(xiàng)

          • 在使用 Cheerio、jsdom 或 htmlparser2 時(shí),務(wù)必了解它們的文檔和用法,以充分利用其功能。
          • 當(dāng)解析復(fù)雜的動(dòng)態(tài)頁面時(shí),考慮使用模擬瀏覽器行為的庫(kù),如 Puppeteer。

          使用接口工具調(diào)試后端接口

          Apifox 為例,Apifox=Postman + Swagger + Mock + JMeter,Apifox 支持調(diào)試 http(s)、WebSocket、Socket、gRPC、Dubbo 等協(xié)議的接口,并且集成了 IDEA 插件。在后端人員寫完服務(wù)接口時(shí),測(cè)試階段可以通過 Apifox 來校驗(yàn)接口的正確性,圖形化界面極大的方便了項(xiàng)目的上線效率。

          在本文的例子中,就可以通過 Apifox 來測(cè)試接口。新建一個(gè)項(xiàng)目后,在項(xiàng)目中選擇 “調(diào)試模式” ,填寫請(qǐng)求地址后即可快速發(fā)送請(qǐng)求,并獲得響應(yīng)結(jié)果,上文的實(shí)踐案例如圖所示:

          總結(jié)

          Node.js 提供了多種方法來解析 HTML,包括 Cheerio、jsdom 和 htmlparser2。選擇適合你需求的庫(kù),可以輕松地操作和提取網(wǎng)頁內(nèi)容。

          知識(shí)擴(kuò)展:

          • Node.js 中怎么拷貝文件?nodejs 拷貝文件的方法
          • 如何在線建一個(gè) JAVA 的 Spring Boot 項(xiàng)目?Spring Boot 快速入門 Helloworld 示例

          參考鏈接:

          • Cheerio 官方文檔:https://cheerio.js.org/
          • jsdom GitHub 倉(cāng)庫(kù):https://github.com/jsdom/jsdom
          • htmlparser2 GitHub 倉(cāng)庫(kù):https://github.com/fb55/htmlparser2

          TML全局屬性是所有HTML元素共有的屬性。它們可以應(yīng)用于所有元素,盡管它們可能對(duì)某些元素沒有影響。

          HTML屬性

          HTML元素可以設(shè)置屬性

          屬性可以在元素中添加附加信息

          屬性一般描述于開始標(biāo)簽

          屬性總是以名稱/值對(duì)的形式出現(xiàn),比如:name="value"。

          屬性和屬性值對(duì)大小寫不敏感。不過,萬維網(wǎng)聯(lián)盟在其HTML4推薦標(biāo)準(zhǔn)中推薦小寫的屬性/屬性值。而新版本的(X)HTML要求使用小寫屬性。

          大多數(shù)HTML元素支持的屬性:

          class:為html元素定義一個(gè)或多個(gè)類名(classname)(類名從樣式文件引入)

          id:定義元素的唯一id

          style:規(guī)定元素的行內(nèi)樣式(inlinestyle)

          title:描述了元素的額外信息(作為工具條使用)

          HTML超鏈接及其屬性

          HTML使用標(biāo)簽<a>來設(shè)置超文本鏈接。超鏈接可以是一個(gè)字,一個(gè)詞,或者一組詞,也可以是一幅圖像,您可以點(diǎn)擊這些內(nèi)容來跳轉(zhuǎn)到新的文檔或者當(dāng)前文檔中的某個(gè)部分。當(dāng)您把鼠標(biāo)指針移動(dòng)到網(wǎng)頁中的某個(gè)鏈接上時(shí),箭頭會(huì)變?yōu)橐恢恍∈帧DJ(rèn)情況下,鏈接將以以下形式出現(xiàn)在瀏覽器中:

          一個(gè)未訪問過的鏈接顯示為藍(lán)色字體并帶有下劃線。

          訪問過的鏈接顯示為紫色并帶有下劃線。

          點(diǎn)擊鏈接時(shí),鏈接顯示為紅色并帶有下劃線。

          如果為這些超鏈接設(shè)置了CSS樣式,展示樣式會(huì)根據(jù)CSS的設(shè)定而顯示。

          在標(biāo)簽<a>中使用了href屬性來描述鏈接的地址。

          實(shí)例

          <a href="https://www.kaikeba.com/">訪問開課吧</a>1復(fù)制代碼類型:[html]

          上面這行代碼顯示為:訪問開課吧

          點(diǎn)擊這個(gè)超鏈接會(huì)把用戶帶到開課吧的首頁。

          使用target屬性,你可以定義被鏈接的文檔在何處顯示。

          實(shí)例

          <ahref="https://www.kaikeba.com/"target="_blank">訪問開課吧</a>  
          
          target="_blank":在新窗口中打開被鏈接文檔。  
          
          target="_self":	默認(rèn),在相同的框架中打開被鏈接文檔。  
          
          target="_parent":在父框架集中打開被鏈接文檔。  
          
          target="_top":	在整個(gè)窗口中打開被鏈接文檔。  
          
          target=framename:在指定的框架中打開被鏈接文檔。  1234567891011復(fù)制代碼類型:[html]

          HTML圖像標(biāo)簽及其屬性

          在HTML中,圖像由<img>標(biāo)簽定義。<img>是空標(biāo)簽,意思是說,它只包含屬性,并且沒有閉合標(biāo)簽。

          要在頁面上顯示圖像,你需要使用源屬性(src)。src指"source"。源屬性的值是圖像的URL地址。

          定義圖像的語法是:

          <imgsrc="url"alt="some_text">  1復(fù)制代碼類型:[html]

          URL指存儲(chǔ)圖像的位置。

          alt屬性用來為圖像定義一串預(yù)備的可替換的文本。在瀏覽器無法載入圖像時(shí),替換文本屬性告訴讀者她們失去的信息。此時(shí),瀏覽器將顯示這個(gè)替代性的文本而不是圖像。為頁面上的圖像都加上替換文本屬性是個(gè)好習(xí)慣,這樣有助于更好的顯示信息,并且對(duì)于那些使用純文本瀏覽器的人來說是非常有用的。

          height(高度)與width(寬度)屬性用于設(shè)置圖像的高度與寬度。屬性值默認(rèn)單位為像素。

          <imgsrc="logo.jpg"alt="kaikeba"width="300"height="120">  1復(fù)制代碼類型:[html]

          提示:指定圖像的高度和寬度是一個(gè)很好的習(xí)慣。如果圖像指定了高度寬度,頁面加載時(shí)就會(huì)保留指定的尺寸。如果沒有指定圖片的大小,加載頁面時(shí)有可能會(huì)破壞HTML頁面的整體布局。

          開課吧廣場(chǎng)-人才學(xué)習(xí)交流平臺(tái)


          主站蜘蛛池模板: 鲁大师成人一区二区三区| 影院成人区精品一区二区婷婷丽春院影视 | 国产福利91精品一区二区三区| 成人精品一区二区激情| 国内精品视频一区二区三区| 久久人妻无码一区二区| 久久久国产精品无码一区二区三区| 精品国产一区二区三区久| 亚洲国产成人久久综合一区77 | 国产成人精品一区在线| 中文字幕一区二区人妻| 美女视频免费看一区二区| 麻豆AV一区二区三区久久| 视频在线一区二区| 国内精品一区二区三区东京| 国产综合无码一区二区色蜜蜜| 久久亚洲AV午夜福利精品一区| 国产精品亚洲午夜一区二区三区| 亚洲美女高清一区二区三区| 久久精品免费一区二区喷潮| 国产一区二区女内射| 国产在线观看一区二区三区精品| 亚洲午夜一区二区三区| 国产午夜精品片一区二区三区| 日韩电影一区二区三区| 国产综合精品一区二区三区| 亚洲欧洲一区二区三区| 中文字幕一区二区日产乱码| 一区二区三区四区无限乱码| 国产suv精品一区二区6| 国产成人综合亚洲一区| 一区二区三区四区无限乱码| 久久久久国产一区二区三区| 国产一区三区三区| 国产91久久精品一区二区| 一区二区精品久久| 日本精品一区二区三区四区| 国产激情一区二区三区 | 亚洲一区二区三区无码影院| 国产在线精品一区二区中文| 老熟女五十路乱子交尾中出一区|