前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CSV vs 数据库:爬虫数据存储的最佳选择是什么

CSV vs 数据库:爬虫数据存储的最佳选择是什么

原创
作者头像
jackcode
发布于 2024-12-26 04:18:34
发布于 2024-12-26 04:18:34
16500
代码可运行
举报
运行总次数:0
代码可运行
爬虫代理
爬虫代理

介绍

在爬虫技术中,数据存储是一个不可缺少的环节。然而,选择合适的存储方式对数据分析和结果应用都致关重要。CSV和数据库是常用的两种存储方式,但它们各有优缺。这篇文章将分析两者在爬虫数据存储方面的选择值。

微博热搜是当前网络热点话题的重要风向标,其内容涵盖了娱乐、时事、社会等多方面的信息。爬取微博热搜的数据,不仅可以帮助研究网络热点的传播规律,还能为数据分析和商业决策提供重要参考。

技术分析

CSV

优势:

  1. 简单易用:CSV文件格式直观,读写操作无需处理处理。
  2. 资源使用低:对于小量数据,CSV文件存储耗时短,运行效率高。
  3. 移植性高:可存储为文件,容易分享和转换。 不足:
  4. 并发性不足:对于大量数据,操作无法并发。
  5. 高级查询支持不足:对于复杂查询,需要额外程序处理。 数据库 优势:
  6. 效率高:选择适合的数据库可高效存储和查询大量数据。
  7. 并发支持:通过统一访问控制保证并发操作的数据对值。
  8. 高级查询:SQL语言充分高效处理复杂操作。 不足:
  9. 配置处理复杂:需要配置和进行文档学习。
  10. 资源使用较高:对于小量数据,显得过于突出。 总结 如果是小型项目或加载轻量数据,CSV是好选择。而对于大量数据和复杂操作,调用数据库更为适合。

代码实现

以爬取https://weibo.com的热搜信息为例,通过使用多线程和爬虫代理IP技术,将数据存储到数据库中。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import requests
from concurrent.futures import ThreadPoolExecutor
import pymysql

# 配置代理IP 亿牛云爬虫代理
PROXY = {
    "http": "http://用户名:密码@proxy.16yun.cn:8080",
    "https": "http://用户名:密码@proxy.16yun.cn:8080",
}

# 配置头部信息
HEADERS = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
    "Cookie": "请填写您的Cookie",
}

# 数据库连接
connection = pymysql.connect(
    host="localhost",
    user="root",
    password="password",
    database="weibo_data",
    charset="utf8mb4",
)
cursor = connection.cursor()

# 创建表
cursor.execute(
    """
    CREATE TABLE IF NOT EXISTS hot_search (
        id INT AUTO_INCREMENT PRIMARY KEY,
        title VARCHAR(255) NOT NULL,
        content TEXT NOT NULL
    ) CHARSET=utf8mb4;
    """
)
connection.commit()

# 爬取函数
def fetch_hot_search(url):
    try:
        response = requests.get(url, headers=HEADERS, proxies=PROXY, timeout=10)
        response.raise_for_status()
        data = response.json()  # 假设回复格式是JSON

        for item in data.get("hot_search", []):
            title = item.get("title")
            content = item.get("content")
            cursor.execute(
                "INSERT INTO hot_search (title, content) VALUES (%s, %s)", (title, content)
            )
            connection.commit()

    except Exception as e:
        print(f"Error fetching data from {url}: {e}")

# 使用多线程
urls = [f"https://weibo.com/hot_search?page={i}" for i in range(1, 6)]
with ThreadPoolExecutor(max_workers=5) as executor:
    executor.map(fetch_hot_search, urls)

cursor.close()
connection.close()

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
30 个极大提高开发效率超级实用的 VSCode 插件
Visual Studio Code 的插件对于在提升编程效率和加快工作速度非常重要。这里有 30 个最受欢迎的 VSCode 插件,它们将使你成为更高效的搬砖摸鱼大师。这些插件主要适用于前端开发人员,但也有一些通用插件也可以适用于任何开发环境。以下是我将介绍的 VSCode 插件:
wscats
2022/03/28
3.9K0
30 个极大提高开发效率超级实用的 VSCode 插件
2020年,9个前端的顶级 VS Code 扩展插件
VS Code 的插件甚至是主题都数不胜数,开发者根据自己的需求可以自由选择。一个配置合适的 VSC 可以提高开发效率,有的则能够帮助开发者写出更简洁美观的代码。在大量的插件中,为了避免大家挑花眼,我在这里和大家分享12个我个人认为对前端开发最有利的扩展。
王小婷
2020/10/26
1.7K0
20款VS Code实用插件推荐
VS Code是一个轻量级但功能强大的源代码编辑器,轻量级指的是下载下来的VS Code其实就是一个简单的编辑器,强大指的是支持多种语言的环境插件拓展,也正是因为这种支持插件式安装环境开发让VS Code成为了开发语言工具中的霸主,让其同时支持开发多种语言成为了可能。俗话说的好工欲善其事必先利其器,安装一些实用插件对自己日常的开发和工作效率能够大大的提升,避免996从选一款好的开发插件开始。以下是我整理的一些比较实用的VS Code插件希望对大家有用,大家有更好的插件推荐可在文末留言🤞。
追逐时光者
2023/08/23
1.1K0
用了这 7 个 VS Code 插件,想写一辈子代码
你知道将高级开发人员与普通开发人员区分的条件是什么吗?没错,是所使用的工具,俗话说,"工欲善其事必先利其器", 拥有正确的工作工具可以让开发人员的生活变得更加轻松,甚至想写一辈子代码。
Vam的金豆之路
2021/12/01
8800
用了这 7 个 VS Code 插件,想写一辈子代码
提升编程效率:你不能错过的18款VS Code扩展
快来免费体验ChatGpt plus版本的,我们出的钱 体验地址:https://chat.waixingyun.cn 可以加入网站底部技术群,一起找bug,另外新版作图神器已上线 https://cube.waixingyun.cn/home
前端小智@大迁世界
2023/07/09
4530
提升编程效率:你不能错过的18款VS Code扩展
10款Visual Studio实用插件
俗话说的好工欲善其事必先利其器,安装一些Visual Studio实用插件对自己日常的开发和工作效率能够大大的提升,避免996从选一款好的IDE实用插件开始。以下是我认为比较实用的Visual Studio插件希望对大家有用,大家有更好的插件推荐可在文末留言🤞。
追逐时光者
2023/09/13
1.1K0
10款Visual Studio实用插件
2024年最新最全Visual Studio实用插件推荐!
俗话说的好工欲善其事必先利其器,安装一些实用的Visual Studio插件对自己日常的开发和工作效率能够大大的提升,避免996从选一款好的Visual Studio实用插件开始。以下是我认为比较实用的Visual Studio插件希望对大家有用,大家有更好的插件推荐可在文末留言🤞。
追逐时光者
2024/07/11
1.2K0
2023 Visual Studio Code 插件推荐:18 个提高开发效率的常用插件
Visual Studio Code (简称VSCode) 是一款强大的开源代码编辑器,它拥有众多功能强大的扩展插件,使得开发者可以根据自己的需求来定制编辑器的功能和外观。在本文中,我们将分享一些非常实用的 VSCode 插件,这些插件将提高您的开发效率,使编码变得更加愉快。
小万哥
2023/10/17
7.1K0
2023 Visual Studio Code 插件推荐:18 个提高开发效率的常用插件
25 个提升开发幸福感的 VSCode 扩展
我认为它如此受欢迎的原因很简单,因为 VSCode 提供了每个开发者想要的功能,包括他们甚至不知道自己需要的功能。这就是 VSCode 的秘密魅力——它总能让你大吃一惊。
一只图雀
2020/06/04
4.7K0
25 个提升开发幸福感的 VSCode 扩展
VS code常用插件推荐(总结整理篇)
vscode是微软开发的的一款代码编辑器,就如官网上说的一样,vscode重新定义(redefined)了代码编辑器。当前市面上常用的轻型代码编辑器主要是:sublime,notepad++,editplus,atom这几种。比起notepad++、editplus,vscode集成了许多IDE才具有的功能,比起它们更像一个代码编辑器;比起sublime,vscode颜值更高,安装配置插件更为方便;比起atom,vscode启动速度更快,打开各种大文件不卡。可以说,vscode既拥有高自由度、又拥有高性能和高颜值,最关键的是,vscode还是一款免费并且有团队持续快速更新的代码编辑器。可以说,vscode是代码编辑器的首选。个人推荐编写前端代码时,代码编辑器选择vscode,IDE选择WebStorm。vscode安装插件只需要点击图片所示按钮,即可进入拓展,在搜索框中输入插件名点击安装后,等待安装好即可点击重新加载重启vscode使得插件生效。
孙叫兽
2021/07/05
2.2K0
VS code常用插件推荐(总结整理篇)
10 款 提升工作效率的VSCode 扩展
由于扩展可以很大程度提高开发的效率,VisualStudio Code 俨然成为开发者社区最流行的一款编辑器。本文就为大家介绍下 2021 年最流行的 10 款 VisualStudio Code 扩展。
前端老道
2022/04/19
1.8K0
10 款 提升工作效率的VSCode 扩展
10 个超极好用的 VS Code 神级插件,每个程序员必备!
无论你是经验丰富的开发人员还是刚刚开始第一份工作的初级开发人员,你都会想让自己的开发工作尽可能轻松一点。正确的工具使用则可以帮助你实现这个目标。
iMike
2020/04/26
1.6K0
10 个超极好用的 VS Code 神级插件,每个程序员必备!
VS Code 和 Python:数据科学的天作之合
一方面,你获得了超过 6000 万次安装 Visual Studio Code 的 Python 扩展。
海拥
2022/09/08
7700
VS Code 和 Python:数据科学的天作之合
面向前端开发人员的VSCode自动化插件
编程是复杂的。在保证高生产力和代码质量的同时,有许多最优的方案需要记住,有许多准则需要遵循,还有许多 "已知问题 "需要避免。
葡萄城控件
2021/04/07
1.1K0
面向前端开发人员的VSCode自动化插件
Visual Studio Code 常用插件
Visual Studio Code 是一个运行于 OS X、Windows 和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台编辑器。Visual Studio Code 为开发者们提供了对多种编程语言的内置支持,同时也会为这些语言提供丰富的代码补全和导航功能。JavaScript,TypeScript,Node.js 和 ASP.NET 5 开发者也将会获得额外的工具集。
.T.
2022/02/19
1.6K0
python在线代码编辑器-5种最佳Python IDE和代码编辑器
大家好,又见面了,我是你们的朋友全栈君。如Eclipse之类的IDE之间感到困惑,或者为该不该用Sublime Text这样的编辑器犹豫?那么您可以看看这篇文章!
全栈程序员站长
2022/09/21
6.6K0
python在线代码编辑器-5种最佳Python IDE和代码编辑器
对于Web开发最棒的22个Visual Studio Code插件
相信我,调试JavaScript不仅仅是写 console.log() (虽然这种方式应用最多)。Chrome内置了一些功能,可以拥有更好的调试体验。这个插件能让你在vs code里使用所有(或者几乎所有)这些调试功能。
三分恶
2020/12/08
2.3K0
VSCode插件大全|VSCode高级玩家之第二篇
上一篇文章《VSCode常用快捷键大全》,我们了解到了VSCode中的常用快捷键。学会了快捷键可以让我们更高效和迅速的编写代码。但是没有IDE中的一些辅助功能,还是美中不足。
三钻
2020/10/29
4.8K1
VSCode插件大全|VSCode高级玩家之第二篇
8 个给前端的顶级 VS Code 扩展插件 [每日前端夜话0x33]
微软的 VS (Visual Studio) Code 是一个免费的开源代码编辑器,最近越来越受欢迎。它非常轻巧、灵活,同时也提供了很多强大的功能。它支持绝大多数流行的编程语言,包括PHP、JavaScript、C++ 等。
疯狂的技术宅
2019/03/27
9950
8 个给前端的顶级 VS Code 扩展插件 [每日前端夜话0x33]
大前端时代你的VSCode插件
2018已成历史,大前端的时代不知不觉中已然来到了我们身边,完善你的军刀库为你的开发进行时提升效率,是我们必然要进行的事情。这一篇文章收集了一些我经常使用的 vscode 插件,它们解决了很多我遇到的问题,为我提升效率带来了很大的改进,因此分享给大家。
icepy
2019/06/24
1.4K0
大前端时代你的VSCode插件
相关推荐
30 个极大提高开发效率超级实用的 VSCode 插件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档