我正在使用Scrapy编写我的第一个爬虫,并尝试遵循文档。我已经实现了ItemLoaders。这个爬虫提取数据,但是数据包含许多换行符。我尝试过很多方法来删除它们,但没有任何效果。replace_escape_chars实用程序应该可以工作,但我不知道如何与ItemLoader
一起使用它。有些人使用(unicode.strip),但是我似乎无法让它正常工作。有些人尝试在items.py中使用它们,而另一些人则在爬虫中使用它们。我应该如何清除这些换行符(\r\n)的数据?我的items.py文件只包含项目名称和field()。以下是爬虫代码:
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.contrib.loader import XPathItemLoader
from scrapy.utils.markup import replace_escape_chars
from ccpstore.items import Greenhouse
class GreenhouseSpider(BaseSpider):
name = "greenhouse"
allowed_domains = ["domain.com"]
start_urls = [
"http://www.domain.com",
]
def parse(self, response):
items = []
l = XPathItemLoader(item=Greenhouse(), response=response)
l.add_xpath('name', '//div[@class="product_name"]')
l.add_xpath('title', '//h1')
l.add_xpath('usage', '//li[@id="ctl18_ctl00_rptProductAttributes_ctl00_liItem"]')
l.add_xpath('repeat', '//li[@id="ctl18_ctl00_rptProductAttributes_ctl02_liItem"]')
l.add_xpath('direction', '//li[@id="ctl18_ctl00_rptProductAttributes_ctl03_liItem"]')
items.append(l.load_item())
return items
parse
方法中如何使用处理器。希望这有所帮助。 - alecxe