资讯专栏INFORMATION COLUMN

Python爬虫Xpath定位数据的两种方法

89542767 / 761人阅读

  小编写这篇文章的主要目的,就是给大家介绍关于Python的一些总结,比如使用Python爬虫Xpath定位数据,那么,在定位数据的时候,有两种方法,具体有什么方法介绍呢?下面就给大家详细的解答下。


  方法一:直接右键,将文章路径复制下来点击Copy full Xpath


  使用selenium+lxml中的etree进行配合使用,使用etree解析html网页


  import requests
  from lxml import etree
  import time
  import socket
  import csv
  from selenium import webdriver
  from configparser import ConfigParser
  from selenium.webdriver import Chrome
  from selenium.webdriver import ChromeOptions
  #禁止图片和css加载
  chrome_options=webdriver.ChromeOptions()
  prefs={"profile.managed_default_content_settings.images":2}
  chrome_options.add_experimental_option("prefs",prefs)
  option=ChromeOptions()
  option.add_experimental_option('excludeSwitches',['enable-automation'])
  #如果想加载图片,就把下面第二句话改第一句话,删掉上面的“禁止图片和css加载”部分
  #wb=Chrome(options=option)
  wb=webdriver.Chrome(options=chrome_options)
  #最大化窗口、输入网址、等待至网页加载完成(防止元素还没加载出来就开始爬了这样自然爬不到数据。如果一直加载不出就等10秒,加载好了就立刻结束等待)
  wb.maximize_window()
  wb.get("https://www.tianyancha.com/")
  wb.implicitly_wait(5)
  然后获取网页数据,这里表明哪怕后面出错了,仍然可以延续wb的位置继续控制浏览器
  data=wb.page_source
  time.sleep(3)
  data=wb.page_source
  time.sleep(3)
  page_all.append(data)
  html=etree.HTML(data)
  company=html.xpath('/html/body/div/div/div[2]/div/div[1]/div[1]/div[3]/div[1]/div[1]/div[1]/h1/text()')
  print(company)

01.png

  方法二:使用制定标签属性,搜索指定位置


  这样的好处就是,对于批量处理的网页,有的标签位置不在同一个地方,那么我们就是不使用全Xpath路径,而使用相对路径,用制定某种属性的标签,下载相关数据

  "//div[class='mainArea']/ul/li"


  使用//div[class=‘mainArea’]的意思是:从根部(//)查找class值为mainArea的Node.


  所以,那么就很简单了//某元素[class=‘CLASS值’]


  大家可以按照这个公式来查找class的元素了。


  剩下的/ul/li表示的是,继续查找class='mainArea’的div包括的ul元素下面的li节点集合。


  这篇内容就为大家介绍到这里了,希望可以给大家带来更多帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128254.html

相关文章

  • Python 从零开始爬虫(八)——动态爬取解决方案 之 selenium

    摘要:然而让虫师们垂涎的并不是以上的种种,而是其通过驱动浏览器获得的解析的能力。所以说这货在动态爬取方面简直是挂逼级别的存在,相较于手动分析更简单易用,节省分析打码时间。一旦设置了隐式等待时间,它的作用范围就是对象实例的整个生命周期。 selenium——自动化测试工具,专门为Web应用程序编写的一个验收测试工具,测试其兼容性,功能什么的。然而让虫师们垂涎的并不是以上的种种,而是其通过驱动浏...

    fobnn 评论0 收藏0
  • 爬虫入门到精通-网页的解析(xpath

    摘要:起初的提出的初衷是将其作为一个通用的介于与间的语法模型。的基本使用要使用我们需要下载,在爬虫入门到精通环境的搭建这一章也说明怎么装,如果还没有安装的话,那就去下载安装吧直接看代码实战吧。 本文章属于爬虫入门到精通系统教程第六讲 在爬虫入门到精通第五讲中,我们了解了如何用正则表达式去抓取我们想要的内容.这一章我们来学习如何更加简单的来获取我们想要的内容. xpath的解释 XPath即为...

    ispring 评论0 收藏0
  • Python3网络爬虫实战---28、解析库的使用:XPath

    摘要:上一篇文章网络爬虫实战与正则表达式抓取猫眼电影排行下一篇文章网络爬虫实战解析库的使用上一节我们实现了一个最基本的爬虫,但提取页面信息时我们使用的是正则表达式,用过之后我们会发现构造一个正则表达式还是比较的繁琐的,而且万一有一点地 上一篇文章:Python3网络爬虫实战---27、Requests与正则表达式抓取猫眼电影排行下一篇文章:Python3网络爬虫实战---29、解析库的使用:...

    abson 评论0 收藏0
  • Selenium+python亲测爬虫工具爬取年度电影榜单

    摘要:介绍是一个用于应用程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括,,,,,等,它在的领域里的引用能使初学者大大的省去解析网页中代加密的一些麻烦。 Selenium介绍 Selenium 是一个用于Web应用程序测试的工具,Selenium测试直接运行在浏览...

    Jiavan 评论0 收藏0
  • Python 从零开始爬虫(九)——模拟登录,cookie的使用

    摘要:所以只要得到登录后的并必要时进行更新,服务器就会认定其为登录状态。看看人家知乎,加密到连名字都没有了,还混淆,如何下手综上,适用于没有加密的登录或者加密算法比较简单并且不常更新的网站。遇上无解的加密算法要么手操拷贝,要么请大佬出场。 某些网站,登录和没登录,用户的权限是不一样的,帐号登录之后才能获取更多的信息。更有甚者一上来就是登录界面,不登录就不给你进去(如p站)。爬取目标不用登录固...

    edgardeng 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<