繁体   English   中英

我可以使用python,selenium和lxml解析xpath吗?

[英]Can I parse xpath using python, selenium and lxml?

因此,我一直在尝试弄清楚我们如何使用BeautifulSoup,并进行了快速搜索,发现lxml可以解析html页面的xpath。 如果可以的话,我会喜欢的,但是本教程并不那么直观。

我知道如何使用Firebug来捕获xpath,并且很好奇是否有人使用lxml,并且可以解释我如何使用它来解析特定的xpath,并打印它们。每行说5条。或者甚至可以吗?

Selenium正在使用Chrome并正确加载页面,只需要前进的帮助即可。

谢谢!

lxml的ElementTree具有.xpath()方法(请注意,Python发行版的xml包中的ElementTree具有该方法!)

例如

# see http://lxml.de/xpathxslt.html

from lxml import etree

# root = etree.parse('/tmp/stack-overflow-questions.xml')
root = etree.XML('''
        <answers>
            <answer author="dlam" question-id="13965403">AAA</answer>
        </answers>
''')

all_answers = root.xpath('.//answer')

for i, answer in enumerate(all_answers):
    who_answered = answer.attrib['author']
    question_id = answer.attrib['question-id']
    answer_text = answer.text
    print 'Answer #{0} by {1}: {2}'.format(i, who_answered, answer_text)

我更喜欢使用lxml 因为大元素提取中lxml的效率比selenium更高。 您可以使用selenium获取网页源,并使用lxml的xpath而不是selenium中的本机find_elements_with_xpath解析源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM