strivezr 2017-08-05 05:48 采纳率: 0%
浏览 8910

python爬虫xpath选择多个属性

python爬虫我需要获取商品的产地,

tree.xpath(
"//div[@class='p-parameter']/ul[@class='parameter2 p-parameter-list']/li[4]/text()")
这样写是没问题的,但是如果到了下一个产品,产地就可能不是在第四个位置了,可能在第三个位置了,所以按照这个xpath写法,获取的可能就不是产地了,这要如何解决呢?而且这个title会根据商品的不同一直变化的

目前我想到的可能的解决方案:

1.我查了半天,看下xpath能否支持通配符的匹配。

tree.xpath(
"//div[@class='p-parameter']/ul[@class='parameter2 p-parameter-list']/li[@title='*省*]/text()")
以上操作不行,本意是为了让xpath查找所有的title里是否有包含‘省’的title,如果有,就提取text()文件

2.更笨的办法,把所有的省市都列举出来,用“|”符号,这样实在太麻烦了,而且我不知道到底有多少个省市

所以想问下有没有其他的解决方法?

Python

  • 写回答

2条回答

  • oyljerry 2017-08-05 07:30
    关注

    tree.xpath(
    "//div[@class='p-parameter']/ul[@class='parameter2 p-parameter-list']

    先到这一层,然后根据条件判断,再决定下一层的数据获取

    评论

报告相同问题?

悬赏问题

  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
  • ¥15 算法题:数的划分,用记忆化DFS做WA求调
  • ¥15 chatglm-6b应用到django项目中,模型加载失败
  • ¥15 CreateBitmapFromWicBitmap内存释放问题。
  • ¥30 win c++ socket
  • ¥15 C# datagridview 栏位进度
  • ¥15 vue3页面el-table页面数据过多