python入門學習之HTML解析

2021-06-25 14:28:52 字數 1893 閱讀 6119

這是參照廖雪峰老師的教程(鏈結)寫的抓取網頁特定資訊的**。感覺**還不夠簡練,日後需要優化。

import urllib3

from htmlparser import htmlparser

from htmlentitydefs import name2codepoint, entitydefs

class myhtmlparser(htmlparser):

def __init__(self):

htmlparser.__init__(self)

self.h3 = none

self.time = none

self.span = none

self.speci = false

self.date = ''

def handle_starttag(self, tag, attrs):

if 'h3'==tag:

for href, link in attrs:

if 'event-title'==link:

self.h3 = tag

if 'time'==tag:

for href, link in attrs:

if 'datetime'==href:

self.time = tag

self.date += link

if 'span'== tag:

for href, link in attrs:

if 'event-location'==link:

self.span = tag

def handle_endtag(self, tag):

pass#print('' % tag)

def handle_startendtag(self, tag, attrs):

pass#print('<%s/>' % tag)

def handle_data(self, data):

if 'h3'==self.h3:

print'conference title:',data

self.h3 = none

if 'time'==self.time:

self.date+=data

if self.speci:

self.date += data

self.speci = false

self.time = none

print self.date

self.date = ''

if 'span'==self.span:

print 'event-location:',data

self.span = none

print '\n'

def handle_comment(self, data):

pass#print('')

def handle_entityref(self, name):

if 'ndash'==name:

self.date+='-'

self.speci = true

def handle_charref(self, name):

pass

parser = myhtmlparser()

url = ""

response = urllib2.urlopen(url)

page = response.read()

parser.feed(page)

注意:類中 有個self.date 變數,我讓它初始化為空的字串,但在中間的函式處理過程中我無意將其賦值為none,導致我之後想做『+』的字串連線老是報告錯誤。

抓取網頁特定內容的**。由於知識累積的少,**中對於特殊字元'&ndash'的解析感覺不是很完美,需以後改進。

HTML入門之head標籤學習

主要是配置 瀏覽器顯示資料的配置資訊 eg 字串編碼 一般是給瀏覽器進行使用 網頁標題標籤 告訴瀏覽器使用什麼標題顯示網頁 標題名編碼格式標籤 告訴瀏覽器使用指定的編碼格式解析文件 編碼格式 text html charset 編碼格式 html4 網頁搜尋優化標籤 提公升網頁在瀏覽器中的搜尋速度 ...

html入門之屬性

目標 1,屬性 1,屬性 什麼是屬性?生活中對乙個物品名詞或者形容詞的描述,統稱為屬性,比如說水杯,圓柱體的,黑色的,玻璃材質的等等都是對它的描述。那麼在html中,可以把標籤看做是乙個物體,它也有自己名詞或者形容的描述,統稱為屬性。語法 標籤名 屬性名1 值1 屬性名2 值2 內容 注 多個屬性用...

html之快速入門

目標 1,什麼是html?2,html常用標籤 3,文字類標籤 特殊符號 1,什麼是html?1,英文名字 hypertext markup language 中文名字 超文字標記語言 標記 使用帶尖括號 的標記,將網頁中的內容逐一標識出來 這個帶簡括的標記也叫做標籤。2,用來設計網頁的一門標記語言...