当前位置: 首页 > news >正文

阿里云网站搭建江苏省徐州市建设银行网站

阿里云网站搭建,江苏省徐州市建设银行网站,网络营销网站设计,房产信息网网站目录 一、Xpath 在 Python 网络爬虫中的作用#xff08;一#xff09;精准定位元素#xff08;二#xff09;应对动态网页#xff08;三#xff09;数据结构化提取 二、Xpath 的常用方法#xff08;一#xff09;节点选取#xff08;二#xff09;谓词筛选#xff0… 目录 一、Xpath 在 Python 网络爬虫中的作用一精准定位元素二应对动态网页三数据结构化提取 二、Xpath 的常用方法一节点选取二谓词筛选三轴操作 三、Xpath 在 Python 中的安装和使用一安装二使用 Xpath提取特定内容 四、Xpath 在 Python 网络爬虫中的典型案例一新闻网站数据抓取二电商产品信息抓取 Xpath能够帮助开发者从复杂的网页结构中精准地提取所需信息。本文将深入探讨 Xpath 在 Python 网络爬虫中的作用、常用方法、安装与使用步骤以及典型案例。 一、Xpath 在 Python 网络爬虫中的作用 一精准定位元素 网页是由 HTML 标签构建而成的复杂层级结构包含了大量的文本、图片、链接等信息。在进行网络爬虫时我们往往只对特定的部分感兴趣例如网页中的文章标题、正文内容、商品价格等。Xpath 提供了一种强大的语法能够通过元素的路径、属性等特征在整个网页结构中精确地定位到我们想要提取信息的元素避免了对无关信息的抓取大大提高了数据采集的准确性和效率。 例如如果我们要获取必应首页热点新闻可以直接找他的XPath。调试工具中找到对应HTML标记可以复制该span的XPath 二应对动态网页 传统的基于 HTML 标签的解析方式可能难以获取这些动态加载的数据。而 Xpath 结合一些支持动态网页解析的库如 Selenium可以在页面加载完成后仍然准确地定位到动态生成的元素从而实现对动态网页数据的抓取拓宽了网络爬虫的应用范围。 三数据结构化提取 网络爬虫的最终目的通常是将抓取到的数据进行整理和分析以满足特定的业务需求。Xpath 可以将网页中的多个新闻标题和对应的发布时间分别提取并整理成一个数据列表其中每个元素都是一个包含标题和时间的字典方便后续的数据处理和存储。 二、Xpath 的常用方法 一节点选取 绝对路径选取从根节点通常是 html 标签开始按照层级关系依次指定每个节点的标签名直到找到目标节点。例如/html/body/div[1]/div[2]/h1表示从根节点 html 开始依次进入 body 节点下的第一个 div 节点再进入其下的第二个 div 节点最后获取其中的 h1 节点。 注意div[1]表示第1个divXPath是从1开始的不是从程序员的0开始的。相对路径选取以当前节点为参考点使用一些特殊符号来表示相对位置关系。例如//h1表示在整个文档中查找所有的 h1 节点./div表示在当前节点下查找所有的 div 节点../p表示在当前节点的父节点下查找所有的 p 节点。 二谓词筛选 谓词用于对选取的节点进行进一步的筛选以满足特定的条件。谓词通常写在方括号 [] 内紧跟在节点名称或路径后面。例//div[classarticle]表示选取所有 class 属性值为 article 的 div 节点//a[text()点击这里]表示选取文本内容为 “点击这里” 的 a 节点//li[position()3]表示选取第三个 li 节点。注意一般把position省略后面接标记的属性除了class常用的还有id,超链接href 三轴操作 轴操作允许我们在文档树中沿着特定的轴如祖先轴、子孙轴、兄弟轴等来选取节点。例如//h2/ancestor::div表示选取所有 h2 节点的祖先 div 节点//ul/descendant::li表示选取 ul 节点下的所有子孙 li 节点//h3/following-sibling::p表示选取所有与 h3 节点同级且在其后的 p 节点。轴操作在处理复杂的网页结构时非常有用可以方便地获取与目标节点相关联的其他节点信息。 三、Xpath 在 Python 中的安装和使用 一安装 在 Python 中使用 Xpath通常需要安装 lxml 库。可以使用 pip 命令进行安装在命令行中执行以下命令 pip install lxml二使用 Xpath提取特定内容 以下示例演示在 Python 中使用 Xpath 解析 HTML 页面中的标题和段落内容 from lxml import etree# 假设已经获取到了网页的 HTML 内容存储在变量 html 中 html htmlbodydiv classcontainerh1标题/h1p这是一段正文内容。/p/div/body/html# 将 HTML 内容解析为 ElementTree 对象 tree etree.HTML(html)# 使用 Xpath 选取标题元素并提取文本内容 title tree.xpath(//h1/text())[0] print(标题:, title)# 选取正文段落元素并提取文本内容 paragraph tree.xpath(//p/text())[0] print(正文:, paragraph)运行结果 在上述示例中首先使用 etree.HTML 函数将 HTML 字符串解析为 ElementTree 对象然后使用 xpath 方法传入 Xpath 表达式来选取相应的元素并通过 text() 函数获取元素的文本内容。 四、Xpath 在 Python 网络爬虫中的典型案例 一新闻网站数据抓取 以某新闻网站为例我们想要抓取该网站首页的新闻标题、发布时间和链接信息。网页结构如下 htmlbodydiv classnews-listdiv classnews-itemh2 classnews-titlea hrefnews1.html新闻标题 1/a/h2span classnews-time2024-12-10 10:00:00/span/divdiv classnews-itemh2 classnews-titlea hrefnews2.html新闻标题 2/a/h2span classnews-time2024-12-11 15:30:00/span/div!-- 更多新闻项 --/div/body /html使用 Python 和 Xpath 实现数据抓取的代码如下 import requests from lxml import etree# 目标新闻网站首页 URL url https://example.com/news# 发送 GET 请求获取网页内容 response requests.get(url) html response.text# 解析 HTML 内容 tree etree.HTML(html)# 使用 Xpath 选取新闻标题、发布时间和链接 news_titles tree.xpath(//div[classnews-item]/h2[classnews-title]/a/text()) news_times tree.xpath(//div[classnews-item]/span[classnews-time]/text()) news_links tree.xpath(//div[classnews-item]/h2[classnews-title]/a/href)# 遍历并打印抓取到的数据 for i in range(len(news_titles)):print(标题:, news_titles[i])print(时间:, news_times[i])print(链接:, news_links[i])print(- * 30)运行结果 在这个案例中通过构造合适的 Xpath 表达式分别选取了新闻标题、发布时间和链接元素并将提取到的数据进行了打印输出。 二电商产品信息抓取 对于一个电商网站我们希望抓取商品列表页面中的商品名称、价格和图片链接。假设网页结构如下 htmlbodydiv classproduct-listdiv classproduct-itemimg srcproduct1.jpg alt商品图片 1h3 classproduct-name商品名称 1/h3span classproduct-price99.99/span/divdiv classproduct-itemimg srcproduct2.jpg alt商品图片 2h3 classproduct-name商品名称 2/h3span classproduct-price199.99/span/div!-- 更多商品项 --/div/body /html以下是相应的 Python 代码 # 导入相关库 from lxml import etree# 本地新闻网页文件路径 file_path goods.html# 读取本地文件内容 with open(file_path, r, encodingutf-8) as file:html file.read()# 解析 HTML tree etree.HTML(html)# 提取商品名称、价格和图片链接 product_names tree.xpath(//div[classproduct-item]/h3[classproduct-name]/text()) product_prices tree.xpath(//div[classproduct-item]/span[classproduct-price]/text()) product_image_links tree.xpath(//div[classproduct-item]/img/src)# 展示抓取结果 for i in range(len(product_names)):print(商品名称:, product_names[i])print(价格:, product_prices[i])print(图片链接:, product_image_links[i])print(* * 30) 运行结果: 综上所述Xpath 在 Python 网络爬虫中扮演着至关重要的角色它提供了强大而灵活的方式来定位和提取网页中的数据。
http://www.w-s-a.com/news/531815/

相关文章:

  • 仿制别人的网站违法吗网站防火墙怎么做
  • 杨浦网站建设 网站外包公司如何进行网络推广
  • wordpress+仿站步骤超详细wordpress常用函数
  • 浙江手机版建站系统哪个好怎样黑进别人的网站
  • 企业网站搜索引擎推广方法装修网络公司
  • 网站运营优化建议wordpress 添加媒体
  • 用asp.net做网站计数器施工企业会计的内涵
  • 网站被黑咋样的网站建设 设计业务范围
  • 网站开发学哪种语言网站编辑器失效
  • WordPress插件提示信息江阴网站优化
  • 网站开发用的软件如何做网站内容管理
  • 扬州网站建设公司网站推广是什么岗位
  • 双线网站管理咨询公司是做什么
  • asia域名的网站贵州光利达建设工程有限公司局网站
  • 梅州南站济南做网络安全的公司
  • 网站源代码 phpseo营销推广费用
  • 南京专业制作网站深圳整装装修公司排名
  • 网站制作在哪里比较好网页设计的要点有哪些
  • 自己做网站原始代码高端品牌服装
  • 九度企业网站推广软件龙泉市建设局网站
  • 做个企业网网站怎么做专业3合1网站建设公司
  • 龙岩网站建设teams熊掌号公司网站的实例
  • 电商模板网站免费省级精品课程网站建设
  • 网站建设的规划书桂林生活最新网
  • 广东省建设工程执业中心网站wordpress的分类目录和标签
  • 甘肃省两学一做专题网站广东外发加工网
  • 用python导入wordpress公司网络优化方案
  • 效益成本原则网站建设wordpress 上传rar
  • 大连网站制作 连城传媒渠道网络公司官网
  • 电影天堂网站用什么程序做的wordpress 添加链接地址