我正在抓取Dmoz网站,并且做了很多功能,但是我只想向您展示我所遇到的问题,那就是每当我打印输出时,我在黑白区域中得到的quotes
都会不同地区,我想将其删除。我使用了strip
中列表中的for loop
来删除\r\n
。但是我遇到了quotes
的另一个问题。怎么处理呢?
以下是图片:
这是我的代码:
def Regional_category(self, response):
items = response.meta['items']
names = {'name1':'Regional_subcategories'
# 'name2':'Related_Categories',
# 'name3':'Site title',
# 'name4':'Site Description'
}
finder = {'finder1': '.browse-node::text',
# 'finder2': '.one-browse-node::text',
# 'finder3': '.site-title::text',
# 'finder4': '.site-descr::text',
}
for name, find in zip(names.values(), finder.values()):
items[name] = list(map(str.strip,response.css(find.strip()).extract()))
yield items
答案 0 :(得分:0)
如果我对您的理解正确,那么这些不仅是引号,而是空元素。 您可以尝试:
css
中检查您的finder
选择器,并以更正确的方式构建它,以避免空数据; # I omit `find.strip()` since you have hardcoded values there
items[name] = [i.strip() for i in response.css(find).extract() if i.strip()]