Scrapy 忽略 <br> 标签后的值
Scrapy Ignore values after <br> tag
HTML:
<span class="number"> - Sep 15, 1991<br><strong>Some Number: </strong>123, 123, 145</span>
刮擦:
samples = response.css('ul li.somthing')
for sample in samples:
loader = ItemLoader(item=CatelogItem(), selector=sample)
loader.add_css('some', 'span.number::text')
yield loader.load_item()
Item.py
some = Field(
input_processor=MapCompose(str.strip),
output_processor=Join()
)
结果
- Sep 15, 1991
预计
- Sep 15, 1991 Some Number: 123, 123, 145
为什么会出现这种行为?我如何获得加载到 itemloader 中的完整值?
您需要获取所有 innerhtml 而不是包含所有嵌套组件的文本。
loader.add_css('some', 'span.number *::text')
HTML:
<span class="number"> - Sep 15, 1991<br><strong>Some Number: </strong>123, 123, 145</span>
刮擦:
samples = response.css('ul li.somthing')
for sample in samples:
loader = ItemLoader(item=CatelogItem(), selector=sample)
loader.add_css('some', 'span.number::text')
yield loader.load_item()
Item.py
some = Field(
input_processor=MapCompose(str.strip),
output_processor=Join()
)
结果
- Sep 15, 1991
预计
- Sep 15, 1991 Some Number: 123, 123, 145
为什么会出现这种行为?我如何获得加载到 itemloader 中的完整值?
您需要获取所有 innerhtml 而不是包含所有嵌套组件的文本。
loader.add_css('some', 'span.number *::text')