Python中parsel两种获取数据方式小结

作者:极客飞虎 时间:2023-03-01 17:44:50 

⭐️网页解析利器parsel实战

我们以实际的案例,来具体了解学习其功能。我们在这里重点讲解其两种方式。一个是XPATH,一个是CSS。我们以某网为例,获取其新闻标题。

🌟 parsel简介

Parsel是一个用于解析JSON数据的Python库。它提供了一个简单易用的API,可以轻松地从JSON文件或字符串中解析数据。可以对 HTML 和 XML 进行解析,并支持使用 XPath 和 CSS Selector 对内容进行提取和修改,同时它还融合了正则表达式提取的功能。功能灵活而又强大。

🌟发送请求

我们先确定目标网址,我们为了让新手更好的学习,我们这里以中国新闻网为例,不讲太复杂的案例。如果,想更好的提升自己,可以尝试学习我之前发的文章。这篇文章使用的方法也是parsel。

我们发送请求,获取数据。我们相信大家这里的代码都会写了。

import parsel
import requests

url = 'https://www.xxxxx.com/importnews.html'

responses = requests.get(url)
responses.encoding=responses.apparent_encoding
print(responses.text)

我们使用requests.get()函数来发送HTTP请求,并将响应存储在responses变量中。在这个例子中,我们将响应的文本内容存储在responses.text变量中。

🌟解析数据

我们获取到了网页源代码之后,我们使用parsel方法对其解析,处理网页源代码。

selector = parsel.Selector(responses.text)

我们使用 parsel 库的 Selector 对象来选择 responses.text 中的特定元素。

我们使用开发者工具,观察标题在哪个标签位置里面。

Python中parsel两种获取数据方式小结

编辑

由上图,我们可以看到,我们标题信息就在

  • 标签里面。我们可以提取

  • 标签里面所有的内容。在这里,我们只获取新闻的标题内容。下面我们将用两种方式获取。

✨XPATH方式

Python中parsel两种获取数据方式小结

我们很容易获取到了标签所在的位置,大家不会写的话,可以右击copy—xpath。我们来写代码。

titles = selector.xpath('/html/body/div[4]/div[1]/div[2]/ul/li/div[2]/a/text()').getall()

xpath 方法是 Selector 对象中的一个方法,用于指定 XPath 表达式,它可以用于选择 HTML 元素。在这个例子中,我们使用 xpath 方法来选择 /html/body/div[4]/div[1]/div[2]/ul/li/div[2]/a/text() 表达式指定的所有 <a> 元素,并将它们的文本内容作为列表返回。

我们这里会得到一个所有新闻的标题列表,我们for遍历一下。我们看看效果。

Python中parsel两种获取数据方式小结

✨CSS方法

我们刚刚用了XPATH的方法获取新闻的标题,我们接下来,我们使用CSS的方法来获取标题。

Python中parsel两种获取数据方式小结

 我们这里,直接写代码了。

titles = selector.css('ul > li > div.dd_bt a::text').getall()

css 方法是 Selector 对象中的一个方法,用于指定 CSS 属性,它可以用于选择 HTML 元素。在这个例子中,我们使用 css 方法来选择 ul > li > div.dd_bt a 表达式指定的所有 <a> 元素的文本,并将它们的样式作为列表返回。

我们CSS语法还可以这样写。

titles = selector.css('.dd_bt a::text').getall()

css 方法是 Selector 对象中的一个方法,用于指定 CSS 属性,它可以用于选择 HTML 元素。在这个例子中,我们使用 css 方法来选择 .dd_bt a::text 表达式指定的所有 <a> 元素,并将它们的文本内容作为列表返回。

Python中parsel两种获取数据方式小结

我们会发现是一样的效果,不管怎么样,大家都要会一种方法。

🌟总结

在parsel实战中,我完成了一个使用 parsel 库的选择器来选择 特定元素的内容。在这个实战中,我使用了 xpath 和 css 方法来指定选择的元素的位置和样式,使用 Selector 对象来指定选择的元素,并使用 getall 方法来获取选择的所有元素。

首先,我们需要更好地理解 xpath 和 css 方法的使用,以便更准确地选择元素。其次,我们需要更好地理解 Selector 对象的使用,以便更准确地指定选择的元素。

到此这篇关于Python中parsel两种获取数据方式小结的文章就介绍到这了,更多相关Python parsel获取内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://juejin.cn/post/7224074551524966459

标签:Python,parsel,获取
0
投稿

猜你喜欢

  • LotusPhp笔记之:基于ObjectUtil组件的使用分析

    2023-11-19 09:18:32
  • xWin之JS版

    2009-09-12 18:45:00
  • 矩形相交以及求出相交的区域的原理解析

    2023-08-17 18:39:09
  • js处理括弧配对替换的方法

    2008-01-16 13:48:00
  • Vuex简单入门

    2024-05-02 16:58:26
  • python里的条件语句和循环语句你了解多少

    2022-07-19 02:27:49
  • 分享五个超实用Python脚本,减少垃圾软件负担

    2022-07-18 18:38:59
  • Python一行代码快速实现程序进度条示例

    2022-07-07 07:22:26
  • Sql server 2005安装时ASP.Net版本注册要求警告的解决方法

    2024-01-18 16:16:55
  • 菜鸟课堂:MySQL权限的详细解答

    2009-09-03 11:43:00
  • go语言学习之包和变量详解

    2024-04-26 17:29:27
  • Jenkins部署war包和部署jar包的详细步骤

    2023-01-19 07:13:06
  • Python 过滤错误log并导出的实例

    2023-10-21 10:18:36
  • vue项目中data数据之间互相访问的实现

    2024-05-28 15:51:43
  • SQL LOADER错误小结

    2024-01-20 23:26:36
  • ansible-playbook实现自动部署KVM及安装python3的详细教程

    2021-09-02 23:13:12
  • Python基于递归实现电话号码映射功能示例

    2023-11-15 09:38:39
  • JS中不为人知的五种声明Number的方式简要概述

    2024-04-29 13:13:43
  • Javascript的时间戳和php的时间戳转换注意事项

    2023-11-19 16:12:30
  • 详解centos7+django+python3+mysql+阿里云部署项目全流程

    2024-01-24 15:10:54
  • asp之家 网络编程 m.aspxhome.com