[英]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.