我正在用python中的lxml抓取一个网页
from lxml import html
import requests
page=requests.get(url)
tree=html.fromstring(page.text)
name=tree.xpath(xpath)
print name
它正在显示:['Matthew']
我想显示:Matthew
有什么解决办法吗?
在Python3.6中使用lxml etree.XPath表达式中的regex有一个问题
在本例中,我在堆栈溢出主页上搜索被空格包围的4位数字。并返回该元素的xpath。
我得到了匹配,那只是空白。我似乎不能把它们过滤掉。我的感觉是,这可能是编码问题,但不能用我的手指.
下面的图片来自https://regex101.com/。正确地给了我一次匹配。
下面是到主页html:的链接
,这是我的代码
from lxml import html
from lxml import etree
with open('stackoverflow.html', 'r
因此,我假设这是一个非常典型的用例,但我在lxml文档中找不到对此的任何支持。基本上,我有一个xml文件,它由许多不同的xml文档(特别是评论)组成,其结构大致如下:
<review>
<!-- A bunch of metadata -->
</review>
<!-- The issue is here -->
<review>
<!-- A bunch of metadata -->
</review>
基本上,我试着按如下方式读取该文件:
import lxml
document =
我正在使用lxml.etree,我正在尝试允许用户在文档中搜索文本。当用户提供搜索文本时,我使用 match函数在文档中查找文本。如果文本显示在element.text中,则匹配工作正常,但如果文本显示在element.tail中,则不会。
下面是一个例子:
>>> # XML as lxml.etree element
>>> root = lxml.etree.fromstring('''
... <root>
... <foo>Sample text
... <bar>
我在做一个硒项目是为了好玩。我想在我的终端上看到所有的足球得分。我用硒刮。但我不能打印刮过的元素。我怎么才能解决呢?
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
import os
from bs4 import BeautifulSoup
import lxml
team_both = []
team_one = []
team_t
下面的测试读取一个文件,并使用lxml.html生成页面的DOM/图形的叶节点。
但是,我也在尝试弄清楚如何从“字符串”中获取输入。使用
lxml.html.fromstring(s)
不起作用,因为这会生成一个“元素”,而不是"ElementTree“。
因此,我正在尝试弄清楚如何将元素转换为ElementTree。
思考
测试代码::
import lxml.html
from lxml import etree # trying this to see if needed
# to convert from eleme
如何告诉etree.strip_tags()从给定的标记元素中剥离所有可能的标记?
我是否必须自己映射它们,例如:
STRIP_TAGS = [ALL TAGS...] # Is there a built in list or dictionary in lxml
# that gives you all tags?
etree.strip_tags(tag, *STRIP_TAGS)
也许是一种我不知道的更优雅的方法?
示例输入:
parent_tag = "<parent>This is some <i>
当我使用WSDL文件的子集进行测试时,文件和代码中省略了名称空间,它可以正常工作。
# for reference, these are the final lines from the WSDL
#
# <wsdl:service name="Shopping">
# <wsdl:documentation>
# <Version>1027</Version>
# </wsdl:documentation>
# <wsdl:p
我尝试使用reduceLeft()在Map中添加键、值对,但遇到错误。如果我使用foldleft()添加键值对,我会得到正确的答案。这个错误在reduceLeft中意味着什么?正确的代码是什么?
代码:
object Dcoder extends App
{
var i = Map(1->2, 3->4, 5->6)
var o = i.reduceLeft((a,b) => a._1 + b._1)
println(o)
}
错误:
source_file.scala:9: error: type mismatch;
found : In
我使用lxml读取我的xml文件。我使用的代码如下所示。它在lxml2.3 beta1中运行得很好,但对于lxml2.3,它提供了如下所示的zn语法错误。我查看了这两个版本的发行说明,但不知道是什么导致了这个错误,也不知道如何修复它。如果你遇到过这样的事情,或者有任何线索,请帮忙。
谢谢!!
代码:
from lxml import etree
def parseXml(context,attribList,elemList):
for event, element in context:
if element.tag in elemList:
我正在用Python语言编写一个程序,它会扫描我和我朋友的GitHub页面,并显示上传的所有文件的名称。我已经设法让它做到了这一点。所有文件的名称都在标记下。问题是标签下面还有其他随机文本,比如“通过上传添加文件”。我不想让这些东西出现。任何帮助都将不胜感激。致以亲切的问候。埃里克
我在打印最终结果时尝试了字符串剥离,但仍然不起作用。
下面是我的代码:
import bs4
import requests
from bs4 import BeautifulSoup as soup
import lxml
import re
import time
import os
import webbro
我已经创建了一个脚本来解析一些与来自网站的歌曲相关的信息。当我尝试使用或时,我的scrpt运行得无懈可击。我能理解的是,当我将我的搜索关键字添加到这部分https://www.billboard.com/music/之后时,我得到了包含信息的所需页面。
然而,当我尝试使用这些关键字1 Of The Girls或Al B. Sure!或Ashford & Simpson等时,事情就出错了。
我想不出如何在基本链接https://www.billboard.com/music/后面添加上面的关键字来定位包含信息的页面。
我尝试过的脚本:
import requests
from bs4 i
给定一个lxml元素,xml我通过调用c.getnext()来迭代它的所有子元素c[0..n]。这是因为如果需要的话,我需要动态地插入子程序,而且我不能使用迭代器这样做。所有元素都有text和tail集。
让我用下面的例子来说明addnext()和insert()的不同行为。假设有一个简单的XML字符串,我将其解析为lxml树,然后,为了理智起见,检查它:
>>> import lxml.etree
>>> s = "<p>This is <b>bold</b> and this is italic text.&l
如果我映射到element属性,我可以返回一个字符串列表:
In [15]: root
Out[15]: <Element ADI at 0x7f4b5e6ad188>
In [16]: root = et.fromstring('<a><c><b value="the.never.ending.tale.99999.gz"/><b value="the.never.ending.tale.999745745799.gz"/><b value="the.never.ending.
我有一个问题与包装图像与div。
from lxml.html import fromstring
from lxml import etree
tree = fromstring('<img src="/img.png"/> some text')
div = etree.Element('div')
div.insert(0, tree.find('img'))
tree.insert(0, div)
print etree.tostring(tree)
<span><div><im