lxml.etree.XPathEvalError: Invalid predicate
lxml.etree.XPathEvalError: Invalid predicate
我收到以下 lxml.etree.XPathEvalError: Invalid predicate
错误:
Traceback (most recent call last):
File "check_1337.py", line 18, in
//div[@class = "_3iyw"]//div[@class = "_6beq _7cdk _6beo"]//div[@class = "_7om2 _3gim _ 7cdk"]//div [@class = "5s61"]//div[@class = "_7cdi"]')
File "src\lxml\etree.pyx", line 1583, in lxml.etree._Element.xpath
File "src\lxml\xpath.pxi", line 305, in lxml.etree.XPathElementEvaluator.call
File "src\lxml\xpath.pxi", line 225, in lxml.etree._XPathEvaluatorBase._handle_result
lxml.etree.XPathEvalError: Invalid predicate
来自以下代码:
from lxml.etree import HTML
import requests
url = "https://m.facebook.com/?_rdr"
response = requests.get(url)
root = HTML(response.content)
tempII = root.find("body").xpath('//div[@id = "viewport"]//div[@id = "page"]//div[@id = "rootcontainer]//div[@class = "async_compose _2v9s"]//div[@id = "MRoot"]\
//div[@class = "_3iyw"]//div[@class = "_6beq _7cdk _6beo"]//div[@class = "_7om2 _3gim _ 7cdk"]//div [@class = "5s61"]//div[@class = "_7cdi"]')
print (tempII)
你能帮我找出这个错误的原因吗?
在您的 find 调用中查看 rootcontainer。
Before 这个词你放一个双引号(这样可以),
但未能在 之后添加另一个双引号 。
另一个细节:稍后你有:@class = "_7om2 _3gim _ 7cdk".
你确定这里应该有四个class吗(_7om2,_3gim,
_ 和 7cdk)?
使用“_”作为 class 名称是一种奇怪的做法。
也许最后 classes 应该是 one class _7cdk?
请注意,早些时候您只有 _7cdk.
这个缺陷不太可能导致任何异常,但是 find 的结果
可能会是空的。
写这样的谓词时要小心,因为这样的错误很常见
难以识别。
我收到以下 lxml.etree.XPathEvalError: Invalid predicate
错误:
Traceback (most recent call last):
File "check_1337.py", line 18, in
//div[@class = "_3iyw"]//div[@class = "_6beq _7cdk _6beo"]//div[@class = "_7om2 _3gim _ 7cdk"]//div [@class = "5s61"]//div[@class = "_7cdi"]')
File "src\lxml\etree.pyx", line 1583, in lxml.etree._Element.xpath
File "src\lxml\xpath.pxi", line 305, in lxml.etree.XPathElementEvaluator.call
File "src\lxml\xpath.pxi", line 225, in lxml.etree._XPathEvaluatorBase._handle_result
lxml.etree.XPathEvalError: Invalid predicate
来自以下代码:
from lxml.etree import HTML
import requests
url = "https://m.facebook.com/?_rdr"
response = requests.get(url)
root = HTML(response.content)
tempII = root.find("body").xpath('//div[@id = "viewport"]//div[@id = "page"]//div[@id = "rootcontainer]//div[@class = "async_compose _2v9s"]//div[@id = "MRoot"]\
//div[@class = "_3iyw"]//div[@class = "_6beq _7cdk _6beo"]//div[@class = "_7om2 _3gim _ 7cdk"]//div [@class = "5s61"]//div[@class = "_7cdi"]')
print (tempII)
你能帮我找出这个错误的原因吗?
在您的 find 调用中查看 rootcontainer。 Before 这个词你放一个双引号(这样可以), 但未能在 之后添加另一个双引号 。
另一个细节:稍后你有:@class = "_7om2 _3gim _ 7cdk".
你确定这里应该有四个class吗(_7om2,_3gim, _ 和 7cdk)?
使用“_”作为 class 名称是一种奇怪的做法。 也许最后 classes 应该是 one class _7cdk? 请注意,早些时候您只有 _7cdk.
这个缺陷不太可能导致任何异常,但是 find 的结果 可能会是空的。 写这样的谓词时要小心,因为这样的错误很常见 难以识别。