首页
学习
活动
专区
工具
TVP
发布

python爬虫技术:如何定位网页上的内容?xpath定位元素

在使用python爬虫的时候,我们需要分析网页元素,定位我们需要的内容。那么,如何在python爬虫过程中定位我们需要的内容的位置呢?接下来我们就来说说xpath定位。

xpath可以定位文档中的节点。使用xpath可以在无法通过名字和id进行定位的时候,方便高效的查找元素。

比如我们在如下的文档中定位我们需要的内容:

比如定位这个表单,我们可以使用绝对定位:/html/body/form[1],这种定位方式很容易受到HTML网页的改变而失效。那么我们看这个表单,可以发现这个表单是这个页面的第一个表单元素,因此可以这样://form[1],但是如果这个页面做了更新,比如增加了新的表单,这种方式可能也会失效。那么,还可以通过这个表单的id来进行定位://form[@id-'loginForm]',这样通过id定位了这个表单,是相对来说比较好的一种方式。

那么,如果我们要定位这个表单中的元素,比如name=username这个input元素,可以这样://form[input/@name='username'],我们定位form元素中的input元素,并且这个input元素的name是username。观察这个表单的结构,我们发现username这个input元素是这个表单中第一个input元素,因此也可以这样来定位这个input元素://form[@id='loginForm']/input[1]。除此之外,我们还可以这样定位这个元素://input[@name='username'],这里定位name值为username的input元素。

如果我们想定位界面上的按钮。比如这个clear按钮,可以这样来实现://input[name='continue][@type='button'],这里我们定位了name为continue种类为button的按钮,因为这里我们看到,name属性并不能唯一确定这个按钮,所以我们需要同时引入type属性的值来帮助我们定位这个按钮。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200615A0K2BL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券