我 是 Scrapy 的 新手 , 我 正在 尝试 从 体育 博彩 中 提取 数据 。 我 目前 正在 尝试 从 即将 到来 的 英超 联赛 中 提取 数据 :https://sport.mrgreen.com/da-DK/filter/football/england/premier_league 的 最 大 值( 该 网站 是 丹麦 语 ) 首先 我 在 网站 上 使用 了 命令 " fetch " , 我 可以 使用 " response " 命令 从 HTML 代码 的 主体 中 返回 CSS 和 xpath 。 但是 , 当 我 想 提取 HTML 代码 中 某 个 点 以外 的 数据 时 ,( " div data-ui - view " ) , 响应 只 返回 一 个 空 列表 。 ( 参见 图片 ) Example 我 已经 用 红色 圈 出 了 xpath 。 当 我 运行 以下 命令 时 , 我 会 返回 一些 东西 :
response.xpath('/html/body/div[1]/div')
中 的 每 一 个
我 已经 试 着 在 最 里面 的 类 上 使用 CSS , 我 可以 在 我 想 提取 的 数据 上 找到 , 也 可以 使用 直接 的 xpath 。 仍然 只有 一 个 空 列表 。
response.xpath('/html/body/div[1]/div/div')
格式
(The上述 代码 返回 " [ ] " )
response.xpath('response.xpath('/html/body/div[1]/div/div/div[2]/div/div/div[1]/div/div[3]/div[2]/div/div/div/div/div/div[4]/div/div[2]/div/div/ul/li[1]/a/div/div[2]/div/div/div/div/button[1]/div/div[1]/div'))
格式
(The上面 的 xpath 指向 一 个 足球 俱乐部 名称 ) 有人 知道 问题 出 在 哪里 吗 ? 谢谢
1条答案
按热度按时间bfhwhh0e1#
你做不到,一个就够了;另外,我总是使用
""
而不是''
,并避免使用完整的xpath,因为这样很难奏效,而是尝试使用.//div
并查看返回的结果,为了获得更好的结果,请使用xpath提供的搜索选项,如response.xpath(".//div[contains(text(), 'Chelsea Wolves')]//text()
。请确保您的response.url
与您要抓取的url匹配。请记住,短而具体的XPath优于大而模糊的XPath。