使用HTMLParser爬取标签内容

以此网站为例

 1 import urllib.request
 2 from html.parser import HTMLParser
 3 from  html.entities import name2codepoint
 4 
 5 #相当于CURL
 6 def Hocontent(url):
 7     page = urllib.request.urlopen(url)
 8     html = page.read()
 9     return html
10 
11 class MyHTMLParser(HTMLParser): #继承HTMLParser类
12     def __init__(self):
13         HTMLParser.__init__(self)
14         self.data = []
15 
16     #获取标签中的content
17     def handle_data(self, data):
18         if len(data) >40 and  data.find('itwriter')==-1 :
19             str = data.strip()
20             self.data.append(str)
21 
22 #获取内容
23 hh = Hocontent('https://news.cnblogs.com/')
24 h = hh.decode(encoding="utf-8")
25 
26 #创建一个子类实例
27 objectP = MyHTMLParser()
28 
29 #解析
30 objectP.feed(h)
31 for con in objectP.data:
32     print(con)
33     print('==============')

 

posted @ 2017-03-30 15:23  Skrillex  阅读(1172)  评论(0编辑  收藏  举报

power by Skrillex 2008