Python使用scrapy爬取酷狗音乐

python使用scrapy框架爬取酷狗音乐并存储为csv文件

  • 看下这篇博客,也许你就懂了,链接:Python使用Scrapy框架爬取数据存入CSV文件
  • 除此之外, 这篇博客: Python.Scrapy爬取当当网畅销图书保存csv格式详细教程中的 四、保存为csv文件 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 要是想把爬取内容以表格形式保存

    三行代码就可以解决,这也是scrapy的方便之处。

    打开settings.py文件,在末尾添加代码:

    FEED_URI='./%(name)s.csv'
    FEED_FORMAT='csv'
    FEED_EXPORT_ENCODING='ansi'
    

    在这里插入图片描述看起来美观很多。

    运行过程中可能会有各种报错,也是正常的,不要紧,一步步debug就会成功的。

    谢谢支持~

  • 以下回答由chatgpt基于相关博客总结生成:

    问题解答:

    根据参考资料提供的代码段,我们可以使用Python的Scrapy框架来爬取酷狗音乐并将爬取到的数据保存为CSV文件。以下是实现的步骤和代码示例:

    步骤 1:
    创建一个名为kugou_spider.py的Scrapy爬虫文件,并设置代表酷狗音乐网址的start_urls列表。

    import scrapy

    class KugouSpider(scrapy.Spider): name = 'kugou_spider' allowed_domains = ['kugou.com'] start_urls = ['http://www.kugou.com/']

    步骤 2:
    在与kugou_spider.py相同的目录下创建一个名为items.py的文件。

    -- coding: utf-8 --

    import scrapy

    class KugouItem(scrapy.Item): song_name = scrapy.Field() artist = scrapy.Field() album = scrapy.Field() duration = scrapy.Field() download_url = scrapy.Field()

    步骤 3:
    在kugou_spider.py文件中添加解析函数来处理爬取到的数据。

    import scrapy from kugou.items import KugouItem

    class KugouSpider(scrapy.Spider): name = 'kugou_spider' allowed_domains = ['kugou.com'] start_urls = ['http://www.kugou.com/']

    def parse(self, response):
        # 解析爬取到的数据并保存到item中
        item = KugouItem()
        item['song_name'] = response.xpath('//h2/text()').extract_first()
        item['artist'] = response.xpath('//h3/text()').extract_first()
        item['album'] = response.xpath('//h4/text()').extract_first()
        item['duration'] = response.xpath('//p/span/text()').extract_first()
        item['download_url'] = response.xpath('//a[@class="download"]/@href').extract_first()
        yield item
    

    步骤 4:
    在settings.py文件中启用并配置CSV管道。

    ITEM_PIPELINES = { 'kugou.pipelines.KugouPipeline': 300, }

    FEED_FORMAT = 'csv' FEED_URI = 'kugou.csv'

    步骤 5:
    创建名为pipelines.py的文件,并定义一个KugouPipeline类来处理爬取的数据。

    import csv

    class KugouPipeline(object): def open_spider(self, spider): self.file = open(spider.settings.get('FEED_URI'), 'w', newline='') self.writer = csv.writer(self.file) self.writer.writerow(['Song Name', 'Artist', 'Album', 'Duration', 'Download URL'])

    def process_item(self, item, spider):
        self.writer.writerow([item['song_name'], item['artist'], item['album'], item['duration'], item['download_url']])
        return item
    
    def close_spider(self, spider):
        self.file.close()
    

    步骤 6:
    在命令行中执行命令来运行爬虫并生成CSV文件。

    scrapy crawl kugou_spider

    通过执行以上步骤和代码示例,爬虫将会爬取酷狗音乐网站的数据,并将爬取到的歌曲名字、艺术家、专辑、时长和下载链接保存为kugou.csv文件中。

    这是一个基本的步骤和代码示例,你可以根据需要自定义和修改爬虫和数据处理的方式。希望对你有帮助。如果还有其他问题,请随时提问。

手摸手教你,干脆我给你写都可以,前提关注一下,嘿嘿