整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML學習教程1-介紹HTML以及實例解析

          TML是超文本標記語言(英語:HyperText Markup Language,簡稱:HTML)是一種用于創建網頁的標準標記語言。

          您可以使用 HTML 來建立自己的 WEB 站點,HTML 運行在瀏覽器上,由瀏覽器來解析。

          .HTML指的是超文本標記語言

          .HTML不是編程語言,而是一種標記語言

          .標記語言是一套標記標簽

          .HTML使用標記標簽來描述網頁

          .HTML文檔包含了HTML標簽和文本內容

          .HTML文檔也叫做web頁面

          HTML實例:

          <!DOCTYPE html>
            <html>
            <head>
            <meta charset="utf-8">
              <title> HTML教程實例</title>
            </head>
          <body>
            <h1>我的第一個標題</h1>
          <p>我的第一個段落</p>
            </body>
            </html>

          注意:對于中文網頁需要使用<meta charset="udf-8">聲明編碼,否則出現亂碼。有些瀏覽器(如 360 瀏覽器)會設置 GBK 為默認編碼,則你需要設置為 <meta charset="gbk">。

          實例解析:

          <!DOCTYPE html>聲明為HTML5文檔

          <html>元素是HTML頁面的根元素

          <head>元素包含了文檔的元數據

          <title>元素描述了文檔的標題

          <body>元素包含了可見的頁面內容

          <h1>元素定義一個大標題

          <p>元素定義一個段落

          TML 實例

          <!DOCTYPEhtml><html><head><metacharset="utf-8"><title>菜鳥教程(runoob.com)</title></head><body><h1>我的第一個標題</h1><p>我的第一個段落。</p></body></html>

          實例解析

          • DOCTYPE 聲明了文檔類型

          • 位于標簽 <html> 與 </html> 描述了文檔類型

          • 位于標簽 <body> 與 </body> 為可視化網頁內容

          • 位于標簽 <h1> 與 </h1> 作為一個標題使用

          • 位于標簽 <p> 與 </p> 作為一個段落顯示

          <!DOCTYPE html> 在HTML5中也是描述了文檔類型。

          什么是HTML?

          HTML 是用來描述網頁的一種語言。

          • HTML 指的是超文本標記語言: HyperText Markup Language

          • HTML 不是一種編程語言,而是一種標記語言

          • 標記語言是一套標記標簽 (markup tag)

          • HTML 使用標記標簽來描述網頁

          • HTML 文檔包含了HTML 標簽文本內容

          • HTML文檔也叫做 web 頁面

          HTML 標簽

          HTML 標記標簽通常被稱為 HTML 標簽 (HTML tag)。

          • HTML 標簽是由尖括號包圍的關鍵詞,比如 <html>

          • HTML 標簽通常是成對出現的,比如 <b> 和 </b>

          • 標簽對中的第一個標簽是開始標簽,第二個標簽是結束標簽

          • 開始和結束標簽也被稱為開放標簽和閉合標簽

          <標簽>內容</標簽>

          HTML 元素

          "HTML 標簽" 和 "HTML 元素" 通常都是描述同樣的意思.

          但是嚴格來講, 一個 HTML 元素包含了開始標簽與結束標簽,如下實例:

          HTML 元素:

          <p>這是一個段落。</p>

          Web 瀏覽器

          Web瀏覽器(如谷歌瀏覽器,Internet Explorer,Firefox,Safari)是用于讀取HTML文件,并將其作為網頁顯示。

          瀏覽器并不是直接顯示的HTML標簽,但可以使用標簽來決定如何展現HTML頁面的內容給用戶:

          HTML 網頁結構

          下面是一個可視化的HTML頁面結構:

          <html>

          <head>

          <title>頁面標題</title>

          </head>

          <body>

          <h1>這是一個標題</h1>

          <p>這是一個段落。</p>

          <p>這是另外一個段落。</p>

          </body>

          </html>

          只有 <body> 區域 (白色部分) 才會在瀏覽器中顯示。

          HTML版本

          從初期的網絡誕生后,已經出現了許多HTML版本:

          版本發布時間
          HTML1991
          HTML+1993
          HTML 2.01995
          HTML 3.21997
          HTML 4.011999
          XHTML 1.02000
          HTML52012
          XHTML52013

          <!DOCTYPE> 聲明

          <!DOCTYPE>聲明有助于瀏覽器中正確顯示網頁。

          網絡上有很多不同的文件,如果能夠正確聲明HTML的版本,瀏覽器就能正確顯示網頁內容。

          doctype 聲明是不區分大小寫的,以下方式均可:

          <!DOCTYPE html>

          <!DOCTYPE HTML>

          <!doctype html>

          <!Doctype Html>

          通用聲明

          HTML5

          <!DOCTYPE html>

          HTML 4.01

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

          "http://www.w3.org/TR/html4/loose.dtd">

          XHTML 1.0

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

          查看完整網頁聲明類型 DOCTYPE 參考手冊。

          中文編碼

          目前在大部分瀏覽器中,直接輸出中文會出現中文亂碼的情況,這時候我們就需要在頭部將字符聲明為 UTF-8。

          HTML 實例

          <!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>頁面標題</title></head><body><h1>我的第一個標題</h1><p>我的第一個段落。</p></body></html>

          如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!

          eautifulSoup簡稱BS4(其中4表示版本號)是一個Python第三方庫,它可以從HTML或XML文檔中快速地提取指定的數據。BeautifulSoup語法簡單,使用方便,并且容易理解,因此您可以快速地學習并掌握它。本節我們講解BS4的基本語法。

          BS4下載安裝

          由于BautifulSoup是第三方庫,因此需要單獨下載,下載方式非常簡單,執行以下命令即可安裝:

          pip install bs41復制代碼類型:[python]

          由于BS4解析頁面時需要依賴文檔解析器,所以還需要安裝lxml作為解析庫:

          pip install lxml1復制代碼類型:[python]

          Python也自帶了一個文檔解析庫html.parser,但是其解析速度要稍慢于lxml。除了上述解析器外,還可以使用html5lib解析器,安裝方式如下:

          pip install html5lib1復制代碼類型:[python]

          該解析器生成HTML格式的文檔,但速度較慢。

          “解析器容錯”指的是被解析的文檔發生錯誤或不符合格式時,通過解析器的容錯性仍然可以按照既定的正確格式實現解析。

          BS4解析對象

          創建BS4解析對象是萬事開頭的第一步,這非常地簡單,語法格式如下所示:

          #導入解析包
          from bs4 import BeautifulSoup
          #創建beautifulsoup解析對象
          soup = BeautifulSoup(html_doc, 'html.parser')1234復制代碼類型:[python]

          BS4常用語法

          下面對爬蟲中經常用到的BS4解析方法做詳細介紹。

          BeautifulSoup將HTML文檔轉換成一個樹形結構,該結構有利于快速地遍歷和搜索HTML文檔。下面使用樹狀結構來描述一段HTML文檔:

          <html><head><title>開課吧廣場</title></head><h1>topic.kaikeba.com</h1><p><b>一個學習編程的網站</b></p></body></html>1復制代碼類型:[python]

          樹狀圖如下所示:

          文檔樹中的每個節點都是Python對象,這些對象大致分為四類:Tag,NavigableString,BeautifulSoup,Comment。其中使用最多的是Tag和NavigableString。

          Tag:標簽類,HTML文檔中所有的標簽都可以看做Tag對象。

          NavigableString:字符串類,指的是標簽中的文本內容,使用text、string、strings來獲取文本內容。

          BeautifulSoup:表示一個HTML文檔的全部內容,您可以把它當作一個人特殊的Tag對象。

          Comment:表示HTML文檔中的注釋內容以及特殊字符串,它是一個特殊的NavigableString。

          1)Tag節點

          標簽(Tag)是組成HTML文檔的基本元素。在BS4中,通過標簽名和標簽屬性可以提取出想要的內容。

          遍歷節點

          Tag對象提供了許多遍歷tag節點的屬性,比如contents、children用來遍歷子節點;parent與parents用來遍歷父節點;而next_sibling與previous_sibling則用來遍歷兄弟節點。

          find_all()與find()

          find_all()與find()是解析HTML文檔的常用方法,它們可以在HTML文檔中按照一定的條件(相當于過濾器)查找所需內容。find()與find_all()的語法格式相似,希望大家在學習的時候,可以舉一反三。

          BS4庫中定義了許多用于搜索的方法,find()與find_all()是最為關鍵的兩個方法,其余方法的參數和使用與其類似。

          1)find_all()

          find_all()方法用來搜索當前tag的所有子節點,并判斷這些節點是否符合過濾條件,最后以列表形式將符合條件的內容返回,語法格式如下:

          find_all(name,attrs,recursive,text,limit)

          參數說明:

          name:查找所有名字為name的tag標簽,字符串對象會被自動忽略。

          attrs:按照屬性名和屬性值搜索tag標簽,注意由于class是Python的關鍵字嗎,所以要使用"class_"。

          recursive:find_all()會搜索tag的所有子孫節點,設置recursive=False可以只搜索tag的直接子節點。

          text:用來搜文檔中的字符串內容,該參數可以接受字符串、正則表達式、列表、True。

          limit:由于find_all()會返回所有的搜索結果,這樣會影響執行效率,通過limit參數可以限制返回結果的數量。

          2)find()

          find()方法與find_all()類似,不同之處在于find_all()會將文檔中所有符合條件的結果返回,而find()僅返回一個符合條件的結果,所以find()方法沒有limit參數。

          CSS選擇器

          BS4支持大部分的CSS選擇器,比如常見的標簽選擇器、類選擇器、id選擇器,以及層級選擇器。BeautifulSoup提供了一個select()方法,通過向該方法中添加選擇器,就可以在HTML文檔中搜索到與之對應的內容。


          開課吧廣場-人才學習交流平臺


          主站蜘蛛池模板: 中文字幕国产一区| 国产精品视频一区二区三区经| 亚洲国产精品第一区二区| 精品日韩一区二区三区视频| 国模私拍一区二区三区| 国产三级一区二区三区 | 日韩AV在线不卡一区二区三区 | 91视频一区二区| av无码精品一区二区三区四区| 男插女高潮一区二区| 一区二区三区福利视频免费观看| 无码人妻一区二区三区精品视频 | 精品无码人妻一区二区免费蜜桃| 亚洲片一区二区三区| 欧洲精品一区二区三区在线观看| 人妻少妇精品视频三区二区一区 | 亚洲AV无码一区二区三区在线观看| 欧美av色香蕉一区二区蜜桃小说 | 性色av一区二区三区夜夜嗨| 制服美女视频一区| 福利一区在线视频| 精品一区二区三区水蜜桃| 国产精品一区二区三区高清在线| 亚洲国产欧美一区二区三区| 色噜噜狠狠一区二区三区| 色狠狠AV一区二区三区| 久久99精品波多结衣一区| 久久免费区一区二区三波多野| 久久精品一区二区| 久久4k岛国高清一区二区| 色妞色视频一区二区三区四区 | 小泽玛丽无码视频一区| 福利一区福利二区| 国产亚洲一区二区三区在线不卡| 日韩经典精品无码一区| 综合久久一区二区三区 | 一本久久精品一区二区| 免费一本色道久久一区| 国产人妖视频一区二区破除 | 精品无码综合一区二区三区| 爆乳无码AV一区二区三区 |