Web in python

工具收集

MVC 架构

参考:

层的功能解释:

  1. java 中的 MVC 和 python 中的东西注意对应关系
  2. MVC: Model, View, Controller
  3. Model: 数据库 model
  4. View: html 模板渲染
  5. Controller: 外部的 http 请求路由转换成 内部的函数调用, 即: routers
  6. Service: 服务层包含业务逻辑

Lxml

读写

  1. etree.parse(file) –> _ElementTree

    • 读入 xml 文件

      1
      2
      3
      4
      5
      6
      7
      
      from lxml import etree
      
      file = '/path/to/my.xml'
      
      result: etree._ElementTree = etree.parse(file)      # etree.ElementTree 类
      
      root: etree._Element = result.getroot()  # etree.Element 类
  2. etree.XML(xml_string) –> ElementTree

    • 注意: xml_string 不可以包含编码说明标签
  3. etree.HTML(html_string)
  4. etree.fromstring(given_string)

    • 注意: given_string 不可以包含编码说明标签

namespace 命名空间

参考:

xml in python

lxml 解析 xml

入门

  1. 读取 xml –> root tree (_ElementTree 对象)

    1
    2
    3
    
    from_object lxml import etree
    
    etree.parse('/my/file.xml')
  2. ElementTree 对象 –> string

    1
    2
    3
    
    from_object lxml import etree
    
    etree.parse('/my/file.xml')

BeautifulSoup 解析 xml

1
2
3
4
5
from_object bs4 import BeautifulSoup

soup = BeautifulSoup(content, 'xml')

soup.find('abstract').text      # str 类型

保持 text 中的空格

参考: