Scrapy 选择器没有抓取元素中的全文
Scrapy selectors are not grabing the full text in an element
我在 html 文档中有这个元素
<div class="main-l">
<i class="icon icon-small icon-pin"></i> 65203 Wiesbaden</div>
试图用 .css('.main-l::text').get()
获取元素只给我部分文本:'\r\n '
。这是 i
元素之前的文本。
如何获取全文或i
元素后的文字?
要获取全文,您必须调用.getall()
方法
response.css('.main-l::text').getall()
由 scrapy 证明 shell
In [1]: from scrapy.selector import Selector
In [2]: %paste
html='''
<div class="main-l">
<i class="icon icon-small icon-pin"></i> 65203 Wiesbaden</div>
'''
## -- End pasted text --
In [3]: response = Selector(text=html)
In [4]:
...: ' '.join(response.css('.main-l::text').getall()).strip()
Out[4]: '65203 Wiesbaden'
我在 html 文档中有这个元素
<div class="main-l">
<i class="icon icon-small icon-pin"></i> 65203 Wiesbaden</div>
试图用 .css('.main-l::text').get()
获取元素只给我部分文本:'\r\n '
。这是 i
元素之前的文本。
如何获取全文或i
元素后的文字?
要获取全文,您必须调用.getall()
方法
response.css('.main-l::text').getall()
由 scrapy 证明 shell
In [1]: from scrapy.selector import Selector
In [2]: %paste
html='''
<div class="main-l">
<i class="icon icon-small icon-pin"></i> 65203 Wiesbaden</div>
'''
## -- End pasted text --
In [3]: response = Selector(text=html)
In [4]:
...: ' '.join(response.css('.main-l::text').getall()).strip()
Out[4]: '65203 Wiesbaden'