Scrapy css选择器:获取所有内部标签的文本

Jga*_*dos 22 html css scrapy

我有一个标签,我希望得到所有文本.我这样做:

response.css('mytag::text')
Run Code Online (Sandbox Code Playgroud)

但它只获取当前标记的文本,我还想从所有内部标记中获取文本.

我知道我可以这样做:

response.xpath('//mytag//text()')
Run Code Online (Sandbox Code Playgroud)

但我想用css选择器来做.我怎样才能做到这一点?

eLR*_*uLL 40

response.css('mytag *::text')
Run Code Online (Sandbox Code Playgroud)

*将访问的所有内部标签mytag,并::text会得到他们每个人的文字


Has*_*aza 6

获取仅选定节点的文本。

response.css('mytag::text')
Run Code Online (Sandbox Code Playgroud)

获取选定节点及其子节点的文本。

response.css('mytag ::text')
Run Code Online (Sandbox Code Playgroud)

查看这两个版本之间的区别。唯一的区别是空间。如果没有空间,则仅返回当前节点的文本/属性。如果有空间,则选择自身和子节点的文本/属性

response.css('h1 a::attr(href)') # only current node attribute

response.css('h1 ::attr(href)') # current node and all child nodes attribute.
Run Code Online (Sandbox Code Playgroud)