国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 在Python中使用HTMLParser解析HTML的教程

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

2020-06-16 09:54廖雪峰 Python

這篇文章主要介紹了在Python中使用HTMLParser解析HTML的教程,尤其是在用Python制作爬蟲程序的時候經常可以用到,需要的朋友可以參考下

如果我們要編寫一個搜索引擎,第一步是用爬蟲把目標網站的頁面抓下來,第二步就是解析該HTML頁面,看看里面的內容到底是新聞、圖片還是視頻。

假設第一步已經完成了,第二步應該如何解析HTML呢?

HTML本質上是XML的子集,但是HTML的語法沒有XML那么嚴格,所以不能用標準的DOM或SAX來解析HTML。

好在Python提供了HTMLParser來非常方便地解析HTML,只需簡單幾行代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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()方法可以多次調用,也就是不一定一次把整個HTML字符串都塞進去,可以一部分一部分塞進去。

特殊字符有兩種,一種是英文表示的&nbsp;,一種是數字表示的&#1234;,這兩種字符都可以通過Parser解析出來。
小結

找一個網頁,例如https://www.python.org/events/python-events/,用瀏覽器查看源碼并復制,然后嘗試解析一下HTML,輸出Python官網發布的會議時間、名稱和地點。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91精品日韩| 日韩高清在线一区 | 亚洲久久 | 中文字幕不卡一区 | 一级一片免费视频 | 久久大陆 | 欧美精品亚洲精品日韩精品 | 欧美激情一区二区三区 | 国产免费拔擦拔擦8x高清在线人 | 女人久久久久 | 国产精品久久久久久婷婷天堂 | 黄毛片网站| 久久精品国产精品青草 | 免费操片 | 国产第一区二区三区 | 高清一区二区三区 | 一区二区精品视频 | 黄色毛片在线 | 色婷婷精品久久二区二区蜜臂av | 国内精品视频在线观看 | 国产精品久久久久久久久久免费看 | av天天干| 婷婷激情五月 | 色噜噜狠狠狠综合曰曰曰88av | 日韩操bb| 99精品久久久 | 久久亚洲一区 | 国产精品欧美一区二区三区 | 在线视频亚洲 | 中文字幕欧美日韩 | 久久婷婷丁香 | 黄色精品网站 | 欧美久久免费 | 天天干女人网 | 日韩免费高清视频 | 欧美男人的天堂 | 久久久久久久国产毛片 | 大象视频成人在线观看 | 亚洲三区电影 | 欧洲精品一区 | 国产欧美精品区一区二区三区 |