首页

文章

如何安装python中的parsel

发布网友 发布时间:2022-03-03 19:49

我来回答

1个回答

热心网友 时间:2022-03-03 21:19

python-parsel

Parsel是一个使用XPath和CSS选择器(可选地与正则表达式结合)从HTML和XML提取数据的库

一、安装

官网:https://pypi.org/project/parsel/


pip安装:pip install parsel 默认安装的是最新版

pip install parsel=1.6.0 目前官方最新版本

PyCharm:File =》Setting =》Project:sintemple =》 Project:Interpreter =》点击右上角的加号(或者按快捷键Alt+Insert)=》在输入框中输入parsel,会出现一个只有parsel的一列,点击选择它 =》Install Package 等待安装完成就可以了(注:其中Specify version选中可以在下拉框中选择版本)

————————————————


二、Selector


Selector(text=None, type=None, namespaces=None, root=None,base_url=None, _expr=None)

创建解析HTML或XML文本的对象

参数:

text 在python2中是一个Unicode对象,在python3中是一个str对象

type 定义Selector类型,可以是"html",“xml"或者是None(默认),如果为None则默认选择为"html”

base_url allows setting a URL for the document. This is needed when looking up external entities with relative paths(允许为文档设置URL。在使用相对路径查找外部实体时,这是必需的)

Selector的对象方法

①. Selector.attrib()

返回基础元素的属性字典

②. Selector.css(query)

css选择器

③. Selector.get()

序列化并以单个unicode字符串返回匹配的节点

④. Selector.getall()

序列化并以第1个元素的unicode字符串列表返回匹配的节点

⑤. Selector.re(self, regex, replace_entities=True)

正则选择器

⑥. Selector.re_first(self, regex, default=None, replace_entities=True)

If the list is empty or the regex doesn’t match anything, return the default value (None if the argument is not provided)如果列表为空或正则表达式不匹配任何东西,返回默认值(如果没有提供参数,则返回’None’ )

⑦. Selector.remove()

Remove matched nodes from the parent for each element in this list.从父节点中删除列表中每个元素的匹配节点。

⑧. Selector.xpath(self, query, namespaces=None, **kwargs)

xpath选择器

SelectorList的对象方法

SelectorList类是内置list类的一个子类,它提供了一些额外的方法。

①. attrib 返回第一个元素的属性字典。如果列表为空,则返回空dict

②. css(query) .css()对该列表中的每个元素调用方法,然后将其结果展平为另一个SelectorList。query 与 Selector.css()

③. extract() 调用.get()此列表中每个元素的方法,并将其结果展平,以unicode字符串列表形式返回。

④. extract_first(default=None) 返回.get()此列表中第一个元素的结果。如果列表为空,则返回默认值。

⑤. get(default=None) 返回.get()此列表中第一个元素的结果。如果列表为空,则返回默认值。

⑥. getall() 调用.get()此列表中每个元素的方法,并将其结果展平,以unicode字符串列表形式返回。

⑦. re(regex, replace_entities=True) 调用.re()此列表中每个元素的方法,并将其结果展平,以unicode字符串列表形式返回。默认情况下,字符实体引用由其对应的字符替换(&和和除外<。以传递replace_entities,False关闭这些替换。

⑧. re_first(regex, default=None, replace_entities=True) 调用.re()此列表中第一个元素的方法,并以Unicode字符串返回结果。如果列表为空或正则表达式不匹配任何内容,则返回默认值(None如果未提供参数)。默认情况下,字符实体引用由其对应的字符替换(&和和除外<。以传递replace_entities,False关闭这些替换。

⑨. remove() 从父级中删除此列表中每个元素的匹配节点。

⑩. xpath(xpath, namespaces=None, **kwargs) .xpath()对该列表中的每个元素调用方法,然后将其结果展平为另一个SelectorList。query 与 Selector.xpath()namespaces是用于将其他前缀添加到已注册的前缀的可选映射(字典)。与相对,这些前缀不会保存以备将来使用。

举例说明:

html代码

————————————————

三、csstranslator


TranslatorMixin

This mixin adds support to CSS pseudo elements via dynamic dispatch.Currently supported pseudo-elements are ::text and ::attr(ATTR_NAME).


①. xpath_attr_functional_pseudo_element(xpath, function)

Support selecting attribute values using ::attr() pseudo-element


②. xpath_element(selector)


③. xpath_pseudo_element(xpath, pseudo_element)

Dispatch method that transforms XPath to support pseudo-element


④. xpath_text_simple_pseudo_element(xpath)

Support selecting text nodes using ::text pseudo-element


XPathExpr(path=’’, element=’*’, condition=’’, star_prefix=False)


GenericTranslator


HTMLTranslator(xhtml=False)


四、utils


extract_regex(regex, text, replace_entities=True)

Extract a list of unicode strings from the given text/encoding using the following policies: * if the regex contains a named group called “extract” that will be returned * if the regex contains multiple numbered groups, all those will be returned (flattened) * if the regex doesn’t contain any group the entire regex matching is returned

flatten(sequence) → list

Returns a single, flat list which contains all elements retrieved from the sequence and all recursively contained sub-sequences (iterables). Examples: >>> [1, 2, [3,4], (5,6)] [1, 2, [3, 4], (5, 6)] >>> flatten([[[1,2,3], (42,None)], [4,5], [6], 7, (8,9,10)]) [1, 2, 3, 42, None, 4, 5, 6, 7, 8, 9, 10] >>> flatten([“foo”, “bar”]) [‘foo’, ‘bar’] >>> flatten([“foo”, [“baz”, 42], “bar”]) [‘foo’, ‘baz’, 42, ‘bar’]

iflatten(sequence) → Iterator

Similar to .flatten(), but returns iterator instead

shorten(text, width, suffix=’…’)

Truncate the given text to fit in the given width.

————————————————


原文链接:网页链接

如何为职务侵占罪进行辩护 职务侵占如何辩护 职务侵占罪有效辩护点有哪些 miui11开发者选项在哪_小米miui11开发者选项在哪 查询考研成绩需要什么 考研查分前要做什么 考研查询需要什么证件 研究生什么专业好 什么专业的研究生最好 考研究生什么专业好 研究生学什么专业 宝石花的养殖方法介绍 宝石花怎么养才长得好 不想让老婆看到我电脑里的一些东西怎么办? 桥好路由器停电后在来电老是获取lp 勒索病毒加密的文件如何恢复? TPU贴合膜多少钱 华为手机如何将输入法改为简体 肉丝炒金针菇做法 仓储冷链信息怎么申报 什么是药品冷链物流 浙江食品冷链运输多少钱 生物冷链具备什么资质 投诉检测站最有效办法 冢君的解释 304C型钢厂 真诚推荐 永浩供 乌鲁木齐球墨铸铁厂家排名 2023年抖音618好物节招商规则 2023年抖音好物年货节好物直播间玩法说明 抖音2023好物年货节玩法攻略 互联网内容平台——小红书的优势与困境 ...女儿房间的空调洗一下滤网,问一下格力小金豆空调面罩怎么打开... 传真机和打印机有什么区别? 传真纸和打印纸哪个好 传真纸和复印纸哪个好 虚拟语气as though 的问题 We didn't know his telephone number, otherwise we would have teleph... 我想问一下 错综复杂条件句 那怎么不能使用在这里 if i can do this... 好可怕...好可怕的梦... 线束组装线束组装工艺要求 汽车线束英语翻译 带表卡尺怎么读数 带表卡尺的使用方法 压力变送器数显表 公主连结凯露表情包大全 臭鼬表情包图片一览[多图] 单眼皮怎么使用双眼皮贴? 咬人的那特小的虫子叫什么 Bose音响怎么连接蓝牙 博士音响蓝牙怎么连接 夹了一片菜叶,上面摆了七根鱼刺和在碗里放了七个汤勺,每个汤勺里放一根... 微信聊天记录怎么才能彻底删除?通过这几种操作可以确保隐私安全!_百度... IDM IDMShellExt64.dll无法删除 - 删除使用中的(进程相关或残留)文件... 写关于活动的句子100字 python中如何安装图形库 请问去哪里领全国计算机等级考试的证书 wifi怎么加密码 拼多多如何免费打快递单 怎样打印快递单 如何快递打印快递单 怎样复制word图片保持大小不变 包头的特色小吃是什么呢 惠普1005打印机怎么连接手机无线打印? 惠普打印机3636怎么连接手机无线打印 安卓手机如何在惠普打印机无线打印 安卓手机如何用惠普打印机无线打印? 空调出风口结水怎么处理 vivo手机忘记了手机锁屏密码怎么办? 我家空调居然从出风口出水?? 我有一个vivo手机忘记密码了,怎么办?我不想清楚所有数据。 为什么空调的水从出风口出来啊而且好多 为什么空调水先用时是正常的,晚上突然水会从机身出风口流出来 空调从出风口出水怎么办? vivo手机忘记密码怎么解开锁 儿童节的来历? 六一儿童节的来历20字 关于六一儿童节的故事,不是来历。 手机看视频声音变小了,怎么调整? 手机视频音量小怎么调 华为手机视频播放声音小怎么办 "六一"国际儿童节的由来 手机视频声音太小怎么调整? 短视频声音太小怎么弄? 手机视频聊天声音小怎么调 如何批量删除转发的新浪微博? 手机播放视频时声音大小怎么调 我手机视频声音怎么变小了,怎么调都不行,要怎么解决 怎么删除微博的转发记录,我在淘宝上刷了转发,我不想让别人看到我刷了,请问怎么删除记录不让别人看到 手机下载的视频声音小,是视频的原因,请问有什么方法弄弄大? OPPO手机如何调节视频音量大小? 微信怎么查看朋友去年的朋友圈消息 怎样在微信朋友圈中快速查找到以前所发的内容? 请鸡西的朋友和了解鸡西的朋友介绍一下鸡西的特色? 鸡西的介绍
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com