Fork me on GitHub

20230202_每日学习记录

20230202

  1. HTML文件和bs4使用

    HTML有下面几部分:

    • 便签(tag) :

      soup = BeautifulSoup('<b class="boldest">Extremely bold</b>', 'html.parser') <!-- 这就是b标签-->
      tag = soup.b
      type(tag)
      # <class 'bs4.element.Tag'>
      
    • 标签名称(name)

      tag.name
      # 'b'
      

      标签名称可以更改

      tag.name = "blockquote"
      tag
      # <blockquote class="boldest">Extremely bold</blockquote>
      
    • 属性(attribute)

      tag = BeautifulSoup('<b id="boldest">bold</b>', 'html.parser').b
      tag['id']
      

      可以直接访问这个tag的attributem,会生成一个字典

      tag.attrs
      # {'id':'boldest'}
      

      也可以直接增加,移除或者修改一个tag的attribute:

      tag['id'] = 'verybold'
      tag['another-attribute'] = 1
      tag
      # <b another-attribute="1" id="verybold"></b>  这是修改
      
      del tag['id']
      del tag['another-attribute']
      tag
      # <b>bold</b>   使用del删除tag
      
      tag['id']
      # KeyError: 'id'  删除后就没办法访问了
      tag.get('id')
      # None
      
  2. bs4的对象不能使用copy模块中的deepcopy功能,执行这样的命令会导致Ipython重启,不知道为什么不兼容.

posted @ 2023-02-08 14:32  Mo槑  阅读(90)  评论(0编辑  收藏  举报