Python爬虫学习(三):parsel解析html

        parse中可以使用css及xpath对html和xml进行解析,其中主要用到的方法如上图所示,并支持使用 XPath 和 CSS Selector 对内容进行提取和修改,同时它还融合了正则表达式提取的功能。方法使用代码示例如下,关于xpath相关方法的使用可以参照:Python爬虫学习(二):xpath解析html-CSDN博客

from parsel import Selector
​
​
def parseDemo():
    html = '''
           <div>
               <ul>
                    <li class="item-0"><a href="link1.html">first item</a></li>
                    <li class="item-1"><a href="link2.html">second item</a></li>
                    <li class="item-inactive"><a href="link3.html">third item</a></li>
                    <li class="item-1"><a href="link4.html">fourth item</a></li>
                    <li class="item-0"><a href="link5.html">fifth item</a>
                </ul>
            </div>
       '''
    # 创建一个selector对象
    res = Selector(text=html, encoding='utf-8')
    # 通过css方法获取class为item-0的元素
    cssRes = res.css('.item-0')
    print(cssRes)
    # 返回的类型为<class 'parsel.selector.SelectorList'>
    print(type(cssRes))
    xpathRes = res.xpath('//li/a')
    print(xpathRes)
    # 返回的类型同为<class 'parsel.selector.SelectorList'>
    print(type(xpathRes))
    # 基于上述返回类型可以使用for循环进行相关逻辑操作
    for cssres in cssRes:
        # getall方法是获取所有
        print(cssres.xpath('.//text()').getall())
    # get方法是获取第一个
    result1 = res.css('.item-0 a::attr(href)').get()
    print(result1)
    result2 = res.xpath('//li[contains(@class, "item-0") and contains(@class, "active")]/a/@href').get()
    print(result2)
​
​
if __name__ == "__main__":
    parseDemo()

相关推荐

  1. Python爬虫学习(二):xpath解析html

    2024-04-09 08:34:02       12 阅读
  2. Python爬虫之pyquery和parsel的使用

    2024-04-09 08:34:02       19 阅读
  3. html.parser --- 简单的 HTML 和 XHTML 解析

    2024-04-09 08:34:02       39 阅读
  4. Python爬虫---解析---BeautifulSoup

    2024-04-09 08:34:02       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-09 08:34:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-09 08:34:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-09 08:34:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-09 08:34:02       20 阅读

热门阅读

  1. OneFlow深度学习框架介绍

    2024-04-09 08:34:02       19 阅读
  2. Pandas进行数据分析

    2024-04-09 08:34:02       16 阅读
  3. MySQL_5.7.17的安装与配置

    2024-04-09 08:34:02       16 阅读
  4. MySQL-9. 事务

    2024-04-09 08:34:02       15 阅读
  5. 【备忘录】MySQL 8.3 中删除的功能

    2024-04-09 08:34:02       13 阅读
  6. 4.8QT

    4.8QT

    2024-04-09 08:34:02      12 阅读
  7. 冒泡排序算法实现步骤

    2024-04-09 08:34:02       13 阅读