web-scraping - 需要帮助 网页提取和- 使用scrapy
问题描述
目前正在学习scrapy,对提取a和标签只有一点了解,但在提取ul和li时需要帮助,例如:
response.css('a.example')
response.css('div.example')
但是“ul”和“li”的命令是什么?
解决方案
您在这里缺少的是对 CSS 选择器的理解。例如,
a.example
将选择设置为的<a>
元素class
exmaple
div.example
将选择设置为的<div>
元素class
exmaple
.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 选择器