FlipKart.py 主要spider文件,包含 scrapy 名称、价格和来自www.example.com的链接flipkart.com
import scrapy
from ..items import FlipkartScraperItem
class FlipkartSpider(scrapy.Spider):
name = 'FlipKart'
allowed_domains = ['www.flipkart.com']
start_urls = ['https://www.flipkart.com/search?q=mobile']
def parse(self, response):
products = response.css('._2kHMtA')
for product in products:
item = FlipkartScraperItem()
item['name'] = product.css('._4rR01T').get(),
item['price'] = product.css('._2kHMtA ._1_WHN1').get(),
item['link'] = product.css("._1fQZEK::attr('href')").get()
yield item
Items.py 文件这里我想打印name变量
import scrapy
from scrapy.loader import ItemLoader
from itemloaders.processors import TakeFirst # TakeFirst text from data
from itemloaders.processors import MapCompose # For function calling
from w3lib.html import remove_tags # For removing html tags
def removeRupeeSymbol(value):
return value.replace('₹', '').strip()
class FlipkartScraperItem(scrapy.Item):
# define the fields for your item here like:
name = scrapy.Field(input_processor = MapCompose(remove_tags), output_processor = TakeFirst())
price = scrapy.Field(input_processor = MapCompose(remove_tags, removeRupeeSymbol), output_processor = TakeFirst())
link = scrapy.Field()
print(name)
我想废弃Flipkart移动的数据,并将其存储在CSV中,并对该数据进行一些更改。
我编写了一个名为removeRupeeSymbol的函数来清理数据,之后我想将该数据存储在CSV文件中,但无法访问该数据
当我试图打印这些数据时,它给我的是变量的地址而不是数据。
下面是输出name变量时的结果
{'input_processor': <itemloaders.processors.MapCompose object at 0x000001DE10CBD290>, 'output_processor': <itemloaders.processors.TakeFirst object at 0x000001DE10CBD390>}
1条答案
按热度按时间ih99xse11#
要提取所需的数据,可以尝试实现下一个工作示例。
完整工作代码示例:
项目.py文件:
输出: