首页 > 解决方案 > 需要帮助 网页提取

问题描述

目前正在学习scrapy,对提取a和标签只有一点了解,但在提取ul和li时需要帮助,例如:

response.css('a.example')

response.css('div.example')

但是“ul”和“li”的命令是什么?

标签: web-scrapingscrapyscrapy-shell

解决方案


您在这里缺少的是对 CSS 选择器的理解。例如,

  • a.example将选择设置为的<a>元素classexmaple
  • div.example将选择设置为的<div>元素classexmaple
  • .example将选择每个class元素example

一旦你学会了这一点,你就会知道选择ul并且li不需要单独的命令。你只需要使用正确的选择器。这是一个例子:

<ul>
<li> one</li>
<li> two</li>
</ul

现在,如果您想选择第一个 li 元素内的文本,您可以使用

response.css('li::text).get()

如果要提取两个元素的文本,可以使用

response.css('li::text).getall()

我建议浏览W3 Schools 之类的网站并了解 CSS 选择器


推荐阅读