【Python实战】Python中parsel两种获取数据方式

⭐️网页解析利器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 中的特定元素。

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

​编辑

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

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

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

    ✨XPATH方式

    我们很容易获取到了标签所在的位置,大家不会写的话,可以右击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遍历一下。我们看看效果。

    ✨CSS方法

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

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

    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> 元素,并将它们的文本内容作为列表返回。

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

    🌟总结

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

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

本文转自 https://juejin.cn/post/7224074551524966459,如有侵权,请联系删除。
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

若有侵权,请联系删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值