我正在学习scrapy doc上的示例。
这里是有问题的完整HTML代码。
<html>
<head>
<base href='http://example.com/' />
<title>Example website</title>
</head>
<body>
<div id='images'>
<a href='image1.html'>Name: My image 1 <br /><img src='image1_thumb.jpg' /></a>
<a href='image2.html'>Name: My image 2 <br /><img src='image2_thumb.jpg' /></a>
<a href='image3.html'>Name: My image 3 <br /><img src='image3_thumb.jpg' /></a>
<a href='image4.html'>Name: My image 4 <br /><img src='image4_thumb.jpg' /></a>
<a href='image5.html'>Name: My image 5 <br /><img src='image5_thumb.jpg' /></a>
</div>
</body>
</html>
我完全理解此命令选择所有<a>
元素中的文本节点。
response.css('a::text').getall()
本教程介绍了此命令选择当前选择器上下文
的所有后代文本节点response.css('#images *::text').getall()
我猜“ * :: text”可能表示所有文本节点。 “当前选择器上下文”是什么意思? “#”是做什么的?
答案 0 :(得分:2)
FileManager
是等同于#
的css选择器,并且看起来id
也威胁它。
scrapy
当前选择器上下文是您从中开始搜索的元素。你在哪里。在这种情况下,您和<div id='images`>
位于<div>
。
id=images
收集所有子元素的文本节点。所有*::text
个标记,其中包含图片