最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Python中使用HTMLParser解析HTML的教程

 更新時(shí)間:2015年04月29日 09:38:01   作者:廖雪峰  
這篇文章主要介紹了在Python中使用HTMLParser解析HTML的教程,尤其是在用Python制作爬蟲(chóng)程序的時(shí)候經(jīng)??梢杂玫?需要的朋友可以參考下

如果我們要編寫(xiě)一個(gè)搜索引擎,第一步是用爬蟲(chóng)把目標(biāo)網(wǎng)站的頁(yè)面抓下來(lái),第二步就是解析該HTML頁(yè)面,看看里面的內(nèi)容到底是新聞、圖片還是視頻。

假設(shè)第一步已經(jīng)完成了,第二步應(yīng)該如何解析HTML呢?

HTML本質(zhì)上是XML的子集,但是HTML的語(yǔ)法沒(méi)有XML那么嚴(yán)格,所以不能用標(biāo)準(zhǔn)的DOM或SAX來(lái)解析HTML。

好在Python提供了HTMLParser來(lái)非常方便地解析HTML,只需簡(jiǎn)單幾行代碼:

from HTMLParser import HTMLParser
from htmlentitydefs import name2codepoint

class MyHTMLParser(HTMLParser):

  def handle_starttag(self, tag, attrs):
    print('<%s>' % tag)

  def handle_endtag(self, tag):
    print('</%s>' % tag)

  def handle_startendtag(self, tag, attrs):
    print('<%s/>' % tag)

  def handle_data(self, data):
    print('data')

  def handle_comment(self, data):
    print('<!-- -->')

  def handle_entityref(self, name):
    print('&%s;' % name)

  def handle_charref(self, name):
    print('&#%s;' % name)

parser = MyHTMLParser()
parser.feed('<html><head></head><body><p>Some <a href=\"#\">html</a> tutorial...<br>END</p></body></html>')

feed()方法可以多次調(diào)用,也就是不一定一次把整個(gè)HTML字符串都塞進(jìn)去,可以一部分一部分塞進(jìn)去。

特殊字符有兩種,一種是英文表示的&nbsp;,一種是數(shù)字表示的&#1234;,這兩種字符都可以通過(guò)Parser解析出來(lái)。
小結(jié)

找一個(gè)網(wǎng)頁(yè),例如https://www.python.org/events/python-events/,用瀏覽器查看源碼并復(fù)制,然后嘗試解析一下HTML,輸出Python官網(wǎng)發(fā)布的會(huì)議時(shí)間、名稱(chēng)和地點(diǎn)。

相關(guān)文章

  • python畫(huà)圖時(shí)linestyle,color和loc參數(shù)的設(shè)置方式

    python畫(huà)圖時(shí)linestyle,color和loc參數(shù)的設(shè)置方式

    這篇文章主要介紹了python畫(huà)圖時(shí)linestyle,color和loc參數(shù)的設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python實(shí)現(xiàn)樹(shù)莓派攝像頭持續(xù)錄像并傳送到主機(jī)的步驟

    Python實(shí)現(xiàn)樹(shù)莓派攝像頭持續(xù)錄像并傳送到主機(jī)的步驟

    這篇文章主要介紹了Python實(shí)現(xiàn)樹(shù)莓派攝像頭持續(xù)錄像并傳送到主機(jī)的步驟,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • python對(duì)raw格式照片進(jìn)行降噪處理的方法詳解

    python對(duì)raw格式照片進(jìn)行降噪處理的方法詳解

    要對(duì)RAW格式的照片進(jìn)行降噪,我們可以使用rawpy庫(kù)來(lái)讀取RAW圖像,并使用imageio庫(kù)將處理后的圖像保存為其他格式,如PNG或JPEG,本文將詳細(xì)給大家介紹python如何對(duì)raw格式照片進(jìn)行降噪處理,文中有詳細(xì)的代碼流程,需要的朋友可以參考下
    2023-05-05
  • python決策樹(shù)之C4.5算法詳解

    python決策樹(shù)之C4.5算法詳解

    這篇文章主要為大家詳細(xì)介紹了python決策樹(shù)之C4.5算法的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python實(shí)現(xiàn)字符串反轉(zhuǎn)的常用方法分析【4種方法】

    Python實(shí)現(xiàn)字符串反轉(zhuǎn)的常用方法分析【4種方法】

    這篇文章主要介紹了Python實(shí)現(xiàn)字符串反轉(zhuǎn)的常用方法,結(jié)合具體實(shí)例形式分析了4種常用的Python字符串反轉(zhuǎn)操作技巧,需要的朋友可以參考下
    2017-09-09
  • plt.figure()參數(shù)使用詳解及運(yùn)行演示

    plt.figure()參數(shù)使用詳解及運(yùn)行演示

    這篇文章主要介紹了plt.figure()參數(shù)使用詳解及運(yùn)行演示,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python Django給admin添加Action的方法實(shí)例詳解

    Python Django給admin添加Action的方法實(shí)例詳解

    這篇文章主要介紹了Django給admin添加Action的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Python的iOS自動(dòng)化打包實(shí)例代碼

    Python的iOS自動(dòng)化打包實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于Python的iOS自動(dòng)化打包的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • 使用pytorch完成kaggle貓狗圖像識(shí)別方式

    使用pytorch完成kaggle貓狗圖像識(shí)別方式

    今天小編就為大家分享一篇使用pytorch完成kaggle貓狗圖像識(shí)別方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python詳解文字轉(zhuǎn)語(yǔ)音的實(shí)現(xiàn)

    Python詳解文字轉(zhuǎn)語(yǔ)音的實(shí)現(xiàn)

    在自然語(yǔ)言處理上,文字、音頻互轉(zhuǎn)是一個(gè)很關(guān)鍵的技術(shù)點(diǎn)。對(duì)于語(yǔ)音轉(zhuǎn)文字,個(gè)人實(shí)現(xiàn)較為困難,我們可以使用語(yǔ)音轉(zhuǎn)文字的軟件或借助各API(如科大訊飛等)進(jìn)行移植開(kāi)發(fā)。不過(guò)文字轉(zhuǎn)語(yǔ)音就相對(duì)而言容易實(shí)現(xiàn)很多了
    2022-02-02

最新評(píng)論

永川市| 泾川县| 剑河县| 阳信县| 烟台市| 拉孜县| 五原县| 浦城县| 马尔康县| 黔西县| 双鸭山市| 三台县| 巴里| 商河县| 林芝县| 塘沽区| 恩平市| 若尔盖县| 兴义市| 沂南县| 平南县| 特克斯县| 岢岚县| 保德县| 丰镇市| 宁城县| 巴彦县| 吕梁市| 务川| 和硕县| 若尔盖县| 珠海市| 孟州市| 扶余县| 宾川县| 綦江县| 嘉祥县| 柳林县| 常德市| 青田县| 卢龙县|