国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

使用python提取html文件中的特定數據的實現代碼

2020-02-23 04:53:12
字體:
來源:轉載
供稿:網友
例如 具有如下結構的html文件

代碼如下:
<div class='entry-content'>
<p>感興趣內容1</p>
<p>感興趣內容2</p>
……
<p>感興趣內容n</p>
</div>
<div class='content'>
<p>內容1</p>
<p>內容2</p>
……
<p>內容n</p>
</div>


我們嘗試獲得'感興趣內容'

對于文本內容,我們保存到IDList中。
可是如何標記我們遇到的文本是感興趣的內容呢,也就是,處于
代碼如下:
<div class='entry-content'>
<p>這里的內容</p>
<p>還有這里</p>
……
<p>以及這里的內容</p>
</div>


思路如下
    遇到<div class='entry-content'> 設置標記flag = True 遇到</div>后 設置標記flag = False 當flag 為True時遇到<p> 設置標記getdata = True 遇到</p> 且getdata = True,設置getdata = False

python為我們提供了SGMLParser類,SGMLParser 將 HTML 分析成 8 類數據[1],然后對每一類調用單獨的方法:使用時只需繼承SGMLParser 類,并編寫頁面信息的處理函數。

可用的處理函數如下:

開始標記 (Start tag) 
是一個開始一個塊的 HTML 標記,象 <html>,<head>,<body> 或 <pre> 等,或是一個獨一的標記,象 <br> 或 <img> 等。當它找到一個開始標記 tagname,SGMLParser 將查找名為 start_tagname 或 do_tagname 的方法。例如,當它找到一個 <pre> 標記,它將查找一個 start_pre 或 do_pre 的方法。如果找到了,SGMLParser 會使用這個標記的屬性列表來調用這個方法;否則,它用這個標記的名字和屬性列表來調用 unknown_starttag 方法。 
結束標記 (End tag) 
是結束一個塊的 HTML 標記,象 </html>,</head>,</body> 或 </pre> 等。當找到一個結束標記時,SGMLParser 將查找名為 end_tagname 的方法。如果找到,SGMLParser 調用這個方法,否則它使用標記的名字來調用 unknown_endtag 。 
字符引用 (Character reference) 
用字符的十進制或等同的十六進制來表示的轉義字符,象  。當找到,SGMLParser 使用十進制或等同的十六進制字符文本來調用
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邮箱| 神木县| 山东| 资源县| 凤山县| 波密县| 上杭县| 胶南市| 左贡县| 安化县| 漾濞| 塔河县| 曲麻莱县| 崇州市| 边坝县| 临武县| 吴江市| 衡阳县| 同仁县| 资中县| 宣恩县| 桐梓县| 武鸣县| 清流县| 朝阳区| 武穴市| 衡阳县| 历史| 阳谷县| 孟村| 利辛县| 麟游县| 盱眙县| 石首市| 纳雍县| 那曲县| 舟曲县| 泾川县| 县级市| 公安县| 武清区|