Python parsel库学习总结

parsel库是Python中用于解析HTML文件的库,其能通过CSS选择器、xpath、正则表达式来定位html中的元素。

通过css选择器定位元素

from parsel import Selector

html = """

    
      这是一个伪html片段1
      这是一个伪html片段2
      
          
  • 张三
  • 李四
  • 王五
  • 赵六
  • 钱七
  • 孙八
  • """
    # 这里返回的是一个Selctor对象 selector = Selector(text=html) """ 定位元素 """ # 通过CSS选择器使用类定位a元素。 # 这里返回的值仍然是一个Selector对象,因此可以继续套用xpath、正则表达式 css_items = selector.css('.option1') # 使用xpath表达式定位a元素 xpath_item = selector.xpath('//a[@name="name2"]') # 对xpath_item继续套用xpath选择器来选择子元素。 # 注意这里必须要在xpath表达式前添加. ,以表示从当前位置查找 wang_wu = xpath_item.xpath('./li[@class="option2"]') # 如果想要通过css选择器来定位子孙元素,则使用css选择器的子孙节点语法 a_li = selector.css('a li') """ 获取元素的html的文本 """ # 通过get方法可获得第1个元素的html文本。如上面的css_items中,满足class="option1"的元素有6个,get方法仅返回第1个 print('get方法获取到的内容为:',css_items.get()) # 如果想要获取全部元素的html,则需要使用getall方法 print('getall方法获取到的内容为:',css_items.getall()) """ 获取元素的属性值 """ # 获取使用css选择器定位到的元素的属性值的方法是加上::attr(属性值)来获取 id3 = selector.css('#a3::attr(name)').get() print("id为a3的元素的name属性值为:",id3) # 获取使用xpath表达式定位到的元素的属性值的方法是加上/@属性值 li2 = selector.xpath('//div/li[2]/@class').get() print('div的第二个li子元素的class属性值为:',li2)

    打印内容如下:
    Python parsel库学习总结_第1张图片

    你可能感兴趣的:(python,学习,开发语言)