激情久久久_欧美视频区_成人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官網發布的會議時間、名稱和地點。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: hd欧美free性xxxx护土 | 91在线视频福利 | 免费a级毛片大学生免费观看 | av色偷偷 | 爽爽淫人综合网网站 | 性欧美videos 另类喷潮 | 性片久久 | 日韩欧美视频一区二区三区 | 51色视频| 日本一道aⅴ不卡免费播放 日日草夜夜操 | 欧美黄色免费视频 | 精品国产一区二区三区在线观看 | 狠狠操天天操 | 欧美一级黄色网 | 精品国产一区二 | 黄色片网站免费在线观看 | 国产精品性夜天天视频 | 成年人福利视频 | 亚洲国产一区二区三区 | 国产在线久 | 电影91| 国产电影精品久久 | 91精品欧美一区二区三区 | 成人免费激情视频 | 日韩精品一区二区免费视频 | 精品成人av一区二区三区 | 性少妇chinesevideo | chinesehdxxxx无套 2021国产精品 | 国产一区二区免费在线观看 | 韩国精品一区二区三区四区五区 | 成人毛片100免费观看 | 亚洲影视在线观看 | a视频在线看 | 一级做受毛片免费大片 | 亚洲欧美日韩一区二区三区在线观看 | 免费国产自久久久久三四区久久 | 黄网站色成年大片免费高 | 久久久成人999亚洲区美女 | 亚洲欧美日韩精品久久 | 日本教室三级在线看 | 91九色视频在线观看 |