lxml 相关问题

lxml是一个功能齐全的高性能Python库,用于处理XML和HTML。

在 Azure Databricks 中使用 LXML 库 (Python) 解析 XML 文件

我正在尝试使用数据块中的 LXML 库解析多个 xml 文件。 问题陈述 - 我在 ADLS 中每 2 分钟收到 1000 多个 xml 文件。我正在尝试使用 ...

回答 0 投票 0

Python、lxml 和 xpath:返回“[<Element x at 0x29a9998>] 而不是期望值

我正在尝试抓取 TD 资产管理页面(下面的示例;我不能发布超过两个链接)以检索“价格”值,即此 HTML 片段中的美元金额: 我正在尝试抓取 TD 资产管理页面(下面的示例;我不能发布超过两个链接)以检索“价格”值,即此 HTML 片段中的美元金额: <div class="td-layout-grid9 td-layout-column td-layout-column-first"> Price As On: Jun 12, 2015 <br> <strong>$14.54 </strong> <strong class="td-copy-red">-0.01 (-0.07%)</strong> </div> 我希望用 Python、requests、lxml 和 XPath 来实现这一点,我安装如下: apt-get update apt-get install python python-pip python-dev gcc build-essential libxml2-dev libxslt-dev libffi-dev libssl-dev pip install lxml pip install requests pip install requests[security] 下一步,检索我这样做的页面: python >>> from lxml import html >>> import requests >>> page = requests.get('https://www.tdassetmanagement.com/fundDetails.form?fundId=6320&lang=en') >>> tree = html.fromstring(page.text) 最后,尝试使用从 Chrome 的“检查元素”工具获得的相关元素的 XPath 来检索所需的美元值: >>> price = tree.xpath('//*[@id="fundCardVO"]/div[2]/div[1]/div[1]/div[1]/strong[1]') >>> print price 不幸的是,结果是[<Element strong at 0x29a9998>]而不是预期的美元金额$14.54&nbsp;&nbsp;. 为了确保预期的数据被最初的“requests.get”检索到,我运行了这个: >>> print page.content 结果可以在这里看到:http://pastebin.com/f5C4MFQb. 如果我将上面的 HTML 粘贴到此工具中:http://videlibri.sourceforge.net/cgi-bin/xidelcgi 我的 XPath 查询//*[@id="fundCardVO"]/div[2]/div[1]/div[1]/div[1]/strong[1] 按预期返回美元金额。 任何关于我如何能够使用 Python、lxml 和 XPath 检索此元素的所需值的提示或技巧将不胜感激。如果我可以采用完全不同的方式来获得相同的结果,我也会对此感兴趣。 谢谢。 在进一步谷歌搜索以找出元素是什么之后(它们是具有 tag 或 text 等属性的事物列表),然后是关于 UnicodeEncodeError 的更多谷歌搜索(参见 UnicodeEncodeError: 'ascii' codec can't在位置 20 中编码字符 u'\xa0':序号不在范围内(128))我可以用这个获得我想要的值: >>> priceelement = tree.xpath('//*[@id="fundCardVO"]/div[2]/div[1]/div[1]/div[1]/strong[1]') >>> priceascii = priceelement[0].text >>> price = priceascii.encode('utf-8') >>> print price 感谢 jonrsharpe 将我推向正确的方向。 虽然我仍然无法确定如何获取元素的可用属性列表,但是 tag 和 text 是可用的。 我继续得到这个数字(没有美元符号和尾随的不间断空格): >>> import re >>> p = re.search('[0-9]{1,3}\.[0-9]{2}', price) >>> price = p.group(0) >>> print price 用于范围: 对于 x 的价格: 打印(x.文本)

回答 2 投票 0

ValueError:名称空间...的名称...未在范围内声明

调用 lxml.etree.canonicalize(node) 时会引发 ValueError 异常:名称“”的命名空间“{}”未在范围内声明。 在这种特殊情况下

回答 0 投票 0

如何从没有子标签的标签中获取文本

例如:有两个div块,div1里面是div2。我需要从 div1 获取内容,使用 bs4 从 div2 中排除内容 我的代码: 课文 1 ... 例如:有两个div块,div1里面是div2。我需要从 div1 获取内容,使用 bs4 排除 div2 的内容 我的代码: <div> <div id=1>Text 1 <div id=2> Text 2<\div> <\div> <\div> 预期输出: Text 1

回答 0 投票 0

lxml etree 中的 getpath 显示绝对 xpath 的不同输出

我正在尝试获取元素的绝对 XPath 但给出不同的输出。我正在尝试在谷歌中获取搜索按钮的完整 XPath 代码是: 导入时间 随机导入 来自硒 im...

回答 1 投票 0

lxml 不执行 xslt 转换

使用此代码: 从 lxml 导入 etree 以 open( 'C:\Python33\projects\xslt', 'r' ) 作为 xslt,open( 'C:\Python33\projects\result', 'a+' ) 作为结果,open( 'C:\Python33\projects \xml', 'r'...

回答 3 投票 0

使用自闭标签从 xml 中导出文本

我有一组 XML TEI 文件,其中包含文档的转录。我想解析这些 XML 文件并仅提取文本信息。 我的 XML 看起来像: 我有一组 XML TEI 文件,其中包含文档的转录。我想解析这些 XML 文件并仅提取文本信息。 我的 XML 看起来像: <?xml version='1.0' encoding='UTF8'?> <?xml-model href="http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?> <TEI xmlns="http://www.tei-c.org/ns/1.0"> <text> <body> <ab> <pb n="page1"/> <cb n="1"/> <lb xml:id="DD1" n="1"/>my sentence 1 <lb xml:id="DD2" n="2"/>my sentence 2 <lb xml:id="DD3" n="3"/>my sentence 3 <cb n="2"/> <lb xml:id="DD1" n="1"/>my sentence 4 <lb xml:id="DD2" n="2"/>my sentence 5 <pb n="page2"/> <cb n="1"/> <lb xml:id="DD1" n="1"/>my sentence 1 <lb xml:id="DD2" n="2"/>my sentence 2 <cb n="2"/> <lb xml:id="DD1" n="1"/>my sentence 3 <lb xml:id="DD1" n="2"/>my sentence 4 </ab> </body> </text> </TEI> 我尝试使用 LXML 访问信息,方法是: with open(file,'r') as my_file: root = ET.parse(my_file, parser = ET.XMLParser(encoding = 'utf-8')) list_pages = root.findall('.//{http://www.tei-c.org/ns/1.0}pb') for page in list_pages: liste_text = page.findall('.//{http://www.tei-c.org/ns/1.0}lb') final_text = [] for content in liste_text: final_text.append(content.text) 我想在最后有这样的东西: page1 my sentence 1 my sentence 2 my sentence 3 my sentence 4 my sentence 5 page2 my sentence 1 my sentence 2 my sentence 3 my sentence 4 如果我成功访问 lb 对象,则没有文本信息链接到它们。 你能帮我提取这些信息吗? 谢谢

回答 0 投票 0

如何在Python中向LXML Etree添加未封装的文本?

LXML 的 builder 允许轻松地生成 HTML 和 XML,就像这样: >>>从 lxml.builder 导入 E >>>导入 lxml.etree >>>lxml.etree.tostring(E.html('hello')) b'

回答 1 投票 1

XML使用外部DTD进行验证--XML解析器是Python (lxml),该解析器不能从HTTPS端加载外部DTD。

我还有一个问题,我很绝望。我认为这个问题有很多解决方案,但我想知道我的方法是否可以以某种方式实现。我有一个XML文件使用的是一个外...

回答 1 投票 0

从 myanimelist 用户页中刮取名字列表。

我想把这个页面上所有的名字都列出来 https:/myanimelist.netusers.php?lucky=1,但我不知道我需要使用什么路径,现在我只是得到['\n ',...

回答 1 投票 0

在XML中插入父元素不保留其父元素 (Python)

我有一个XML文档,结构是这样的。 &...

回答 1 投票 0

如何使用类似于ElementTree的lxml来遍历XML文档标签。

目前我正在编辑XML文档,我需要编辑一些标签和它们的属性。到目前为止,我一直在使用ElementTree库,但是我遇到了命名空间保存的问题,所以我 ...

回答 1 投票 0

从HTML标签创建一个数据框架

我试图让这个做单独的链接,然后作为日期,但我有问题与数据帧计数不匹配的arrtring找出如何合并2列表。我决定提取链接和...。

回答 2 投票 0

使用Python & lxml进行网络搜刮Strava。

我想从Strava上获取俱乐部活动的信息。我原本想使用api & C#(因为我知道),但由于api提供的信息有缺陷,我已经......

回答 1 投票 1

从纯文本中获取X路径

我试图从文本中获取xpath而不是URL。但我一直得到错误 "AttributeError: 'HtmlElement' object has no attribute 'XPath'"见下面的代码。 From lxml import html var =''''

回答 1 投票 0

获取html中的所有链接,包括条件注释中的链接。

假设我有这个简单的html。 链接1

回答 1 投票 1

Python lxml xpath find node with text()=concat('x', 'y')

我试图用python lxml xpath解析一个xml文件,结构是这样的。

回答 1 投票 0

使用Python BeautifulSouplxml刮取所有链接

http:/www.snapdeal.com 我试图从这个网站上刮取所有链接,当我这样做时,我得到一个意想不到的结果。我发现这是因为javascript的缘故,在 "查看所有 ...

回答 6 投票 1

替换特定的XML属性值

我在网上查了一下,但我找不到问题的答案。我需要替换一个XML文件属性值,如果它是size="10.439 "到size="10.238"。基本上,我需要改变这个...

回答 2 投票 -1

lxml xpath - 找不到body标签。

我想在Calibre中写一个插件,检查epub文档中的脚注(基本上是寻找字体大小<某个值)。我需要获取html文件中所有的子标签(在html文件中的

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.