爬虫结果如何按我的需求进行保存

img


如上图所示,我想把爬虫得到的数据,按列存放在csv文件中,用作后续的情感分析,其中日期在第一列,时间在第二列,新闻内容在第三列,但是一天可能发布了多条新闻,不知道要怎么一一对应起来
我爬虫的网址是https://tushare.pro/news/news_eastmoney?s=%E5%AE%81%E5%BE%B7%E6%97%B6%E4%BB%A3
想获得这个网页上,关于宁德时代这一支股票的所有新闻资讯信息

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7769749
  • 这篇博客也不错, 你可以看下爬虫数据保存为csv文件时,表格中间隔有空行问题
  • 除此之外, 这篇博客: 我爬取了爬虫岗位薪资,分析后发现爬虫真香中的 4.存储到csv文件 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    为了方便下一步我们对数据进行分析,我将爬取下来的数据存储到csv文件

    导入需要的库包

    import csv
    import codecs

    创建csv文件,并设置为追加写模式

    f = codecs.open('爬虫工程师岗位薪资.csv','a','gbk')
    writer = csv.writer(f)
    writer.writerow(["岗位","公司","城市","薪资"])

    在爬取文件的时候将爬取的内容循环写入csv

    writer.writerow([title[0]+"",name[0]+"",location_name[0]+"",sary[0]+""])

    保存好的csv数据如下:

  • 您还可以看一下 李宁老师的数据分析“薪”法修炼-面试篇课程中的 读写CSV文件小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    答案:

    问题标题: 如何按照所需的格式保存爬虫结果并进行情感分析?

    问题内容: 你好,我使用爬虫程序获取了宁德时代这支股票的所有新闻资讯信息。我需要按照以下格式将爬虫结果保存在一个csv文件中:

    • 第一列为日期
    • 第二列为时间
    • 第三列为新闻内容

    我想要将这些数据用于后续的情感分析。然而,我遇到了一个问题,即一天可能发布了多条新闻,但是我不知道该如何一一对应每条新闻的日期和时间。你能告诉我如何解决这个问题吗?

    解决方案: 1. 对于日期和时间的处理,可以使用Python自带的datetime模块将其转换为统一格式。 2. 对于一天发布多条新闻的情况,可以将每条新闻赋予一个唯一的id号,作为新闻的标识,然后将id号作为第四列保存在csv文件中。 3. 如果需要进一步对新闻内容进行情感分析,可以使用Python自带的情感分析库NLTK或者第三方库TextBlob进行分析。 下面是代码示例:

    import csv
    from datetime import datetime
    
    date_format = '%Y-%m-%d'
    time_format = '%H:%M:%S'
    
    # 定义存储结果的csv文件路径
    file_path = 'stock_news.csv'
    
    # 定义待抓取的网页链接
    url = 'https://finance.sina.com.cn/stock/usstock/c/2022-01-12/doc-ikyamrmz1891047.shtml'
    
    # 抓取网页内容
    # ...
    
    # 解析新闻资讯信息
    # 将每条新闻赋予一个唯一的id号,作为新闻的标识
    news_list = [{'id': 1, 'date': '2022-01-12', 'time': '09:35:02', 'content': '新闻1'}, 
                 {'id': 2, 'date': '2022-01-12', 'time': '10:22:53', 'content': '新闻2'},
                 {'id': 3, 'date': '2022-01-12', 'time': '14:17:21', 'content': '新闻3'},
                 {'id': 4, 'date': '2022-01-13', 'time': '11:05:42', 'content': '新闻4'},
                 {'id': 5, 'date': '2022-01-13', 'time': '16:28:18', 'content': '新闻5'}]
    
    # 将结果保存到csv文件中
    with open(file_path, 'w', newline='', encoding='utf-8-sig') as f:
        writer = csv.writer(f)
        writer.writerow(['date', 'time', 'content', 'id'])
        for news in news_list:
            date = datetime.strptime(news['date'], date_format).date()
            time = datetime.strptime(news['time'], time_format).time()
            writer.writerow([date, time, news['content'], news['id']])
    
    # 对新闻内容进行情感分析
    # ...
    

    注:代码示例中的新闻资讯信息是手动构造的,实际应用中需要根据具体抓取的网站和数据格式进行相应的处理。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^