python xpath提取标签内的所有内容(scrapy版本)

8 篇文章 0 订阅

解决方案

table_body = html.xpath('/html/body/table[2]/tbody/tr//td')

先获取总的,然后先取含td外表的数据

            keys=r.xpath('text()')
           

在取含标签的数据 

            vs=list(r.xpath('a/text()'))

具体案例:

需求:提取td中的所有内容,但是用text()方法提取不到a标签中的内容。

    def parse2(self,response):
        html = etree.HTML(response.text)
        #绿表格中的内容
        table_body = html.xpath('/html/body/table[2]/tbody/tr//td')  # 获取href中的内容
        for r in table_body:
            keys=r.xpath('text()')
            vs=list(r.xpath('a/text()'))

            if len(vs)>0:
                key=keys[0].replace("'",'')
                v=vs[0]

            else:
                key=keys[0].replace("'",'').split(":")[0]
                v=keys[0].replace("'",'').split(":")[1]

            print((key+'---'+v))

 

 

参考,评论区

https://www.zhihu.com/question/40443483?sort=created

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值