0
点赞
收藏
分享

微信扫一扫

爬虫xpath使用

婉殇成长笔记 2022-04-13 阅读 77
爬虫

先在控制台下载

pip install lxml

导入

from lxml import etree

使用

 

date = """

       <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-1"><a href="link3.html">third item</a></li>

                <li class="item-0"><a href="link4.html">fourth item</a></li>

            </ul>

        </div> 

        """

 

html = etree.HTML(date)

 

date1 = html.xpath('/html')

for i in date1:

    print(i)

 

 date2 = html.xpath('//li')

for i in date2:

    print(i)

#学具体路径

date3 = html.xpath('/html/body/div/ul/li/a')

for i in date3:

    print(i.text)

 

#循环某个属性

date4 = html.xpath('/html/body/div/ul/li/@class')

for i in date4:

    print(i)

 

date5 = html.xpath('/html/body/div/ul/li/a')

for i in date5:

    a= i.xpath('./@href')

    print(a)

 

#读取某一个节点

date6 = html.xpath('/html/body/div/ul')

for i in date6 :

    li_1 = i.xpath('./li[1]')

    print(li_1)

    li_last=i.xpath('./li[last()]')

    print(li_last)

 

#带有某属性的标签

data7 = html.xpath('//ulli/a[@href="link2.html"]')

for i in data7:

    print(i.text)

 data8 = html.xpath('//ul/li/*')

for i in data8:

    if hasattr(i,'text'):

        print(i.text)

    else:

        print(i)

 

 

举报

相关推荐

0 条评论