我正在嘗試從阿里巴巴的“產品按類別”頁面中刪除類別和類別的 URL 。我正在嘗試抓取它并將其放在一個 CSV 文件中。這是我在電子表格中打開它時想要給出的視圖是:-categories categories_urlsAgricultural Growing Media its URLAnimal Products its URL. .. .. .代碼:-# -*- coding: utf-8 -*-import scrapyclass AlibabaCatagoriesSpider(scrapy.Spider):name = 'alibaba_catagories'allowed_domains = ['alibaba.com']start_urls = ['https://www.alibaba.com/Products?spm=a2700.8293689.scGlobalHomeHeader.352.2ce265aa7GOmOF']def parse(self, response): a = response.css('ul.sub-item-cont') for catag in a: item = { 'categories': catag.css('li>a::text').extract(), 'categories_url': catag.css('li>a::attr(href)').extract() } yield item問題\n 和空白在抓取類別時被抓取。數據沒有以理想的格式抓取你怎么能幫忙修改代碼,這樣我們就可以擁有給出在抓取時刪除 \n 和空白的技巧理想的格式。
3 回答

慕仙森
TA貢獻1827條經驗 獲得超8個贊
使用 Scrapy 非常簡單:
def parse(self, response):
for category_node in response.xpath('//ul[contains(@class, "sub-item-cont")]/li/a'):
item = {
'categories': category_node.xpath('./text()').extract_first().strip(),
'categories_url': category_node.xpath('./@href').extract_first()
}
yield item

慕姐8265434
TA貢獻1813條經驗 獲得超2個贊
嘗試以下選擇器
list(map(lambda x: x.replace('\n', '').strip(), response.xpath('//*[@class="cg-main"]//*[contains(@class, "sub-item-cont")]//li/a[@href]/text()').extract()))
添加回答
舉報
0/150
提交
取消