Python HTMLParser 打印出空行
Python HTMLParser printing out blank lines
我正在使用 python 的 HTMLParser 并在打印空行时遇到问题。
from HTMLParser import HTMLParser
import urllib2
class MyHTMLParser(HTMLParser):
def handle_data(self, data):
print "Encountered some data :", data
# instantiate the parser and fed it some HTML
url = 'http://www.ngccoin.com/price-guide/us/flying-eagle-cents-pscid-16-desig-ms'
req = urllib2.Request(url, headers={'User-Agent' :"Magic Browser"})
response = urllib2.urlopen(req)
html = response.read()
parser = MyHTMLParser()
parser.feed( html )
我的问题是,当它到达数据部分时,它只打印出新行和实际数据。我的输出看起来很像:
Encountered some data :
Encountered some data : Official Grading Service of
Encountered some data :
Encountered some data :
Encountered some data :
我应该如何让它忽略那些只换行的行?
让它忽略那些只换行的行:
def handle_data(self, data):
if data == '\n':
return
print "Encountered some data :", data
或者,让它忽略任何只包含空格的数据:
def handle_data(self, data):
if not data.strip():
return
print "Encountered some data :", data
因为数据一次一行传递,数据需要这样聚合:
def handle_data(self, data):
self.cell += data
然后在关闭标签中....
def handle_endtag(self, tag):
self.somevariable = self.cell.strip()
self.cell = ''
去除末尾的换行符可保留数据的格式。
我正在使用 python 的 HTMLParser 并在打印空行时遇到问题。
from HTMLParser import HTMLParser
import urllib2
class MyHTMLParser(HTMLParser):
def handle_data(self, data):
print "Encountered some data :", data
# instantiate the parser and fed it some HTML
url = 'http://www.ngccoin.com/price-guide/us/flying-eagle-cents-pscid-16-desig-ms'
req = urllib2.Request(url, headers={'User-Agent' :"Magic Browser"})
response = urllib2.urlopen(req)
html = response.read()
parser = MyHTMLParser()
parser.feed( html )
我的问题是,当它到达数据部分时,它只打印出新行和实际数据。我的输出看起来很像:
Encountered some data :
Encountered some data : Official Grading Service of
Encountered some data :
Encountered some data :
Encountered some data :
我应该如何让它忽略那些只换行的行?
让它忽略那些只换行的行:
def handle_data(self, data):
if data == '\n':
return
print "Encountered some data :", data
或者,让它忽略任何只包含空格的数据:
def handle_data(self, data):
if not data.strip():
return
print "Encountered some data :", data
因为数据一次一行传递,数据需要这样聚合:
def handle_data(self, data):
self.cell += data
然后在关闭标签中....
def handle_endtag(self, tag):
self.somevariable = self.cell.strip()
self.cell = ''
去除末尾的换行符可保留数据的格式。