zoukankan      html  css  js  c++  java
  • BeautifulSoup_lxml解析

    def parseHtml(html):
        soup = BeautifulSoup(html, 'lxml')
        # print(soup.prettify)格式化输出
        # items = soup.find_all('div', attrs={'class': 'news-list-b'})
        # items = soup.select('Tag')#CSS选择器
        # items = soup.select('.class')属性
        # items = soup.select('#id')ID
        # items = soup.select('Tag[attr="属性值"]')标签+属性
        # items = soup.select('.class Tag #id')空格表示子节点,组合使用
        # items = soup.select('Tag').text取文本
        # items = soup.select('Tag').get_text()取文本
        # tag.get('className')取标签属性
        # tag['className']取标签属性
        # tag.attrs.get('className')取标签属性
        items = soup.select('.news-list-b .list .item .title a')
        for item in items:
            yield item.get('href')#attrs字典取属性

    CSS选择器 子串匹配 模糊匹配

    soup = BeautifulSoup(html, 'lxml')
    trs = soup.select('#table_live tr[id*="tr1"]')
    #id包含“tr1”字符串的tr标签
    #soup.select('tag[attr="属性值"]') #标签+属性
    tags = soup.select('li[id^="newsLi"]') #标签+属性,id属性以newsLi开头
    tags = soup.select('li[id$="newsLi"]') #标签+属性,id属性以newsLi结尾
    tags = soup.select('li[id*="newsLi"]') #标签+属性,id属性包含newsLi

     select带有空格的class

    #div class=’content-list latest-content’
    #div class=’content-list hot-content’
    
    tags = soup.select('div.content-list.latest-content')
  • 相关阅读:
    缓存穿透、缓存并发和缓存雪崩笔记
    PHP递归的三种方式
    Yii2 rules 自定义规则
    Yii redis hash散列的使用
    Yii redis set集合的使用
    手动安装 yii2-redis 扩展
    PHP添加redis扩展(windows环境)
    Yii redis list列表的使用
    用hextoraw解决update、delete语句执行慢
    Oracle查看SQL执行计划,分析SQL性能
  • 原文地址:https://www.cnblogs.com/math98/p/8776898.html
Copyright © 2011-2022 走看看