这是接单时,使用xpath匹配,想到的一个小技巧,记录和分享给大家。
描述如下:
一个tr标签对应一行数据
每个tr标签中有很多td标签,但是有的td标签有子标签,有的没有,想要爬取每个td标签的所有文本内容
问题就是有的td格式不一致,想要将每个td的内容放在一起。
最终每行生成一个列表。
使用xpath(’./td//text()’) 会将td子标签文本分开
使用 列表推导式 和 string(.) 返回所指元素的所有子节点文本内容所拼接的一个字符串
from lxml import etree
tree3 = etree.HTML(resp.text)
trs = tree3.xpath('//*[@id="cb_hq"]/tbody/tr')
for tr in trs:
hang = [i.xpath('string(.)') for i in tr.xpath('./td')]
print(hang)



