【发布时间】:2019-05-22 23:29:30
【问题描述】:
我正在努力在 HTML 代码上使用 XPath 来查找我需要的信息。
我已经尝试了几个查询,但它们一直在 python 中返回一个空列表。所以我安装了一个 chrome 插件来检查我的查询是否错误,结果不是,所以我现在完全糊涂了。我的整个方法是错误的还是我在这里遗漏了什么?
import requests
from lxml import html
#specify the url
base_url = 'https://www.lolesports.com/en_US/na-
lcs/na_2018_summer/schedule/regular_season/2'
#query the website and return the html to the variable ‘html_code’
html_code = requests.get(base_url)
tree = html.fromstring(html_code.content)
my_nodes = tree.xpath('//a[@id="ember9461"]') ## here it keeps returning an empty list
尝试了几个都不起作用的查询,除了我无法进一步解析的广泛通配符“//*”。
我想为一周内的每场比赛解析 href 中提供的链接(例如)'a id="ember9461" ....... /a'。所以最好返回一个包含所有这些链接的列表,或者至少返回一个包含链接的列表,我可以进一步解析。但正如我之前所说,我不断得到一个空数组,尽管它是 Chrome 的 XPath 插件显示的正确 XPath。
感谢任何帮助。谢谢!
这是我的第一个问题,如果我知道怎么做,我会回来添加截图:)
编辑:它被要求输出:嗯,我没有收到错误,只是描述的“my_nodes”空列表。我正在使用 PyCharm 8.13。
my_nodes = {list}<class 'list'>: []
除了一个空列表之外,我会期待任何内容,因为查询是使用 XPath 插件工作的。
这是解释问题的屏幕截图:
【问题讨论】:
-
欢迎来到 Stackoverflow。 〜如果您包含您使用的确切输入和输出,您将获得更好的响应,以便更容易确定可能出现的问题。在stackoverflow.com/help/how-to-ask 上有关于如何写问题的建议。使用文本评分器而不是屏幕截图,以便其他人可以使用它们!
-
好的,我添加了 my_nodes 的输出/结果,并进一步添加了屏幕截图以便进一步澄清
标签: python html parsing web-scraping lxml