zoukankan      html  css  js  c++  java
  • 第十节 lxml.etree解析HTML文件

     1 from lxml import etree
     2 
     3 r = ''' 
     4               <div class="tabsConItem syllabus">
     5                   <ul id="syList">
     6                                                                               <li class="item lesson" >
     7                                   <div class="main"><a href="https://edu.51cto.com/center/course/lesson/index?id=226242" title="第一个python程序与数据存储-1" target="_blank">第一个python程序与数据存储-1</a></div>
     8                               </li>
     9                                                         <li class="item lesson" >
    10                                   <div class="main"><a href="https://edu.51cto.com/center/course/lesson/index?id=226241" title="第一个python程序与数据存储-2" target="_blank">第一个python程序与数据存储-2</a></div>
    11                               </li>
    12                                                         <li class="item lesson" >
    13                                   <div class="main"><a href="https://edu.51cto.com/center/course/lesson/index?id=226240" title="第一个python程序与数据存储-3" target="_blank">第一个python程序与数据存储-3</a></div>
    14                               </li>
    15                                                         <li class="item lesson" >
    16                                   <div class="main"><a href="https://edu.51cto.com/center/course/lesson/index?id=226239" title="第一个python程序与数据存储-4" target="_blank">第一个python程序与数据存储-4</a></div>
    17                               </li>
    18                                                         <li class="item lesson" >
    19                                   <div class="main"><a href="https://edu.51cto.com/center/course/lesson/index?id=226238" title="第一个python程序与数据存储-5" target="_blank">第一个python程序与数据存储-5</a></div>
    20                                                                   </ul>
    21                   <div id="syList_loading" class="loading">加载中</div>
    22                   <div id="syList_Empty" class="Empty"></div>
    23               </div>'''
    24 '''
    25 
    26 '''
    27 def parse_text():
    28     html = etree.HTML(r)  # 这个底层已经设定好html解析器,不需要重新设置
    29     # 使用etree将爬虫爬取保存成字符串格式的文件重新转换成HTML格式的文件以便用xpath语法提取信息
    30     print(etree.tostring(html, encoding='utf-8').decode('utf-8'))
    31 def parse_lagou_file():
    32     #拉钩网的语法不想腾讯的那么规范,因此需要调用etree.HTMLParser生成一个专门用来解析html的解析器正常解析
    33     parse = etree.HTMLParser(encoding="UTF-8")
    34     html2 = etree.parse('lagou.html',parser=parse)   #读取文件方式解析
    35     #etree.parse('lagou.html',parser=parse)默认是使用XML解析器的
    36     print(etree.tostring(html2,encoding='utf-8').decode('utf-8'))
    37 if __name__ == '__main__':
    38     parse_lagou_file()
  • 相关阅读:
    跨平台的图形软件Dia
    Marvel
    How to install Freemind 1.0.1 to Ubuntu 14
    PHP环境搭建
    java 调用wsdl接口同时将返回数据解析成json
    WSDL接口调用
    struts2 使用装饰页面 /decorators
    Android WebView中的JavaScript代码使用(转载)
    android WebView 显示网页
    linux vi 编辑器命令
  • 原文地址:https://www.cnblogs.com/kogmaw/p/12506943.html
Copyright © 2011-2022 走看看