DeskRex.ai

open α

テーマ

データベース

自動化

発見

サインイン

リサーチの結果の保存、レポートの作成、共有が行えます。

サインイン
supabase.cosupabase.co
...

調査のまとめ

回答

TechCrunchの2025年3月13日の最新ニュースは全11件確認でき、各記事は公開から数分~数時間前のものとなっています。以下の表は、各記事のタイトル、公開時刻、および記事URL...

コード実行

import React from 'react';
import { Card, Container, Row, Col, Table, Badge } from 'react-bootstrap';
import 'bootstrap/dist/css/bootstrap.min.css';
import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, PieChart, Pie, Cell } from 'recharts';

const App = () => {
  // TechCrunchの2025年3月13日のニュース記事データ
  const newsArticles = [
    {
      title: "Spotify launches a program to publish audiobooks from independent authors",
      time: "3分前",
      timeInMinutes: 3,
      url: "https://techcrunch.com/2025/03/13/spotify-launches-a-program-to-publish-audiobooks-from-independent-authors/",
      category: "メディア・エンターテイメント"
    },
    {
      title: "OpenAI calls for US government to codify 'fair use' for AI training",
      time: "33分前",
      timeInMinutes: 33,
      url: "https://techcrunch.com/2025/03/13/openai-calls-for-u-s-government-to-codify-fair-use-for-ai-training/",
      category: "AI・機械学習"
    },
    {
      title: "TechCrunch All Stage unveils a powerhouse agenda for founders",
      time: "56分前",
      timeInMinutes: 56,
      url: "https://techcrunch.com/2025/03/13/techcrunch-all-stage-unveils-a-powerhouse-agenda-for-founders/",
      category: "イベント"
    },
    {
      title: "Huawei's lobbying lands it in a bribery scandal with EU politicians",
      time: "58分前",
      timeInMinutes: 58,
      url: "https://techcrunch.com/2025/03/13/huaweis-lobbying-lands-it-in-a-bribery-scandal-with-eu-politicians/",
      category: "政治・規制"
    },
    {
      title: "UiPath is looking for a path to growth in agentic AI with its Peak.ai acquisition",
      time: "2時間前",
      timeInMinutes: 120,
      url: "https://techcrunch.com/2025/03/13/uipath-is-looking-for-a-path-to-growth-in-agentic-ai-with-its-peak-ai-acquisition/",
      category: "AI・機械学習"
    },
    {
      title: "Omni raises $69M to design tools that help companies better analyze their data",
      time: "2時間前",
      timeInMinutes: 120,
      url: "https://techcrunch.com/2025/03/13/omni-is-designing-tools-to-help-companies-make-data-driven-decisions/",
      category: "資金調達"
    },
    {
      title: "Skich launches an alternative app store on iOS in the EU",
      time: "2時間前",
      timeInMinutes: 120,
      url: "https://techcrunch.com/2025/03/13/skich-challenges-epic-games-with-an-alternative-app-store-on-ios-in-the-eu/",
      category: "モバイル"
    },
    {
      title: "ClickUp is launching a revamped calendar tool for task and meeting management",
      time: "2時間前",
      timeInMinutes: 120,
      url: "https://techcrunch.com/2025/03/13/clickup-is-launching-a-revamped-calendar-tool-for-task-and-meeting-management/",
      category: "生産性ツール"
    },
    {
      title: "Meta is launching Community Notes in the US next week",
      time: "3時間前",
      timeInMinutes: 180,
      url: "https://techcrunch.com/2025/03/13/meta-is-launching-community-notes-in-the-us-next-week/",
      category: "ソーシャルメディア"
    },
    {
      title: "Singapore grants bail for Nvidia chip smugglers in alleged $390M fraud",
      time: "4時間前",
      timeInMinutes: 240,
      url: "https://techcrunch.com/2025/03/13/singapore-grants-bail-for-nvidia-chip-smugglers-in-alleged-390m-fraud/",
      category: "法律・犯罪"
    },
    {
      title: "Bria lands new funding for AI models trained on licensed data",
      time: "4時間前",
      timeInMinutes: 240,
      url: "https://techcrunch.com/2025/03/13/bria-lands-new-funding-for-ai-models-trained-on-licensed-data/",
      category: "AI・機械学習"
    }
  ];

  // カテゴリー別の記事数を集計
  const categoryCount = newsArticles.reduce((acc, article) => {
    acc[article.category] = (acc[article.category] || 0) + 1;
    return acc;
  }, {});

  // 円グラフ用のデータ形式に変換
  const pieChartData = Object.keys(categoryCount).map(category => ({
    name: category,
    value: categoryCount[category]
  }));

  // 時間帯別の記事数を集計
  const timeRanges = [
    { name: '1時間以内', count: 0 },
    { name: '1-2時間', count: 0 },
    { name: '2-3時間', count: 0 },
    { name: '3-4時間', count: 0 },
    { name: '4時間以上', count: 0 }
  ];

  newsArticles.forEach(article => {
    if (article.timeInMinutes <= 60) {
      timeRanges[0].count++;
    } else if (article.timeInMinutes <= 120) {
      timeRanges[1].count++;
    } else if (article.timeInMinutes <= 180) {
      timeRanges[2].count++;
    } else if (article.timeInMinutes <= 240) {
      timeRanges[3].count++;
    } else {
      timeRanges[4].count++;
    }
  });

  // 円グラフの色
  const COLORS = ['#0088FE', '#00C49F', '#FFBB28', '#FF8042', '#8884d8', '#82ca9d', '#ffc658', '#8dd1e1', '#a4de6c', '#d0ed57', '#83a6ed'];

  // 時間帯に応じた色分け関数
  const getTimeColor = (time) => {
    if (time.includes('分前')) {
      return 'success';
    } else if (time.includes('1時間前')) {
      return 'info';
    } else if (time.includes('2時間前')) {
      return 'primary';
    } else if (time.includes('3時間前')) {
      return 'warning';
    } else {
      return 'secondary';
    }
  };

  // カテゴリーに応じた色分け関数
  const getCategoryColor = (category) => {
    const categoryColors = {
      'AI・機械学習': 'primary',
      'メディア・エンターテイメント': 'success',
      'イベント': 'info',
      '政治・規制': 'danger',
      '資金調達': 'warning',
      'モバイル': 'dark',
      '生産性ツール': 'secondary',
      'ソーシャルメディア': 'info',
      '法律・犯罪': 'danger'
    };
    return categoryColors[category] || 'primary';
  };

  return (
    <Container className="py-4">
      <h1 className="text-center mb-4">TechCrunch 2025年3月13日のニュース分析</h1>
      
      <Row className="mb-4">
        <Col md={6}>
          <Card className="h-100 shadow">
            <Card.Header className="bg-primary text-white">
              <h5 className="mb-0">カテゴリー別記事数</h5>
            </Card.Header>
            <Card.Body>
              <ResponsiveContainer width="100%" height={300}>
                <PieChart>
                  <Pie
                    data={pieChartData}
                    cx="50%"
                    cy="50%"
                    labelLine={true}
                    label={({name, percent}) => `${name}: ${(percent * 100).toFixed(0)}%`}
                    outerRadius={80}
                    fill="#8884d8"
                    dataKey="value"
                  >
                    {pieChartData.map((entry, index) => (
                      <Cell key={`cell-${index}`} fill={COLORS[index % COLORS.length]} />
                    ))}
                  </Pie>
                  <Tooltip formatter={(value) => [`${value}件`, '記事数']} />
                </PieChart>
              </ResponsiveContainer>
            </Card.Body>
            <Card.Footer className="text-muted text-center">
              <small>出典: <a href="https://techcrunch.com/" target="_blank" rel="noopener noreferrer" className="text-blue-500 underline hover:text-blue-700">TechCrunch</a></small>
            </Card.Footer>
          </Card>
        </Col>
        
        <Col md={6}>
          <Card className="h-100 shadow">
            <Card.Header className="bg-primary text-white">
              <h5 className="mb-0">時間帯別記事数</h5>
            </Card.Header>
            <Card.Body>
              <ResponsiveContainer width="100%" height={300}>
                <BarChart
                  data={timeRanges}
                  margin={{
                    top: 5,
                    right: 30,
                    left: 20,
                    bottom: 5,
                  }}
                >
                  <CartesianGrid strokeDasharray="3 3" />
                  <XAxis dataKey="name" />
                  <YAxis />
                  <Tooltip formatter={(value) => [`${value}件`, '記事数']} />
                  <Legend />
                  <Bar dataKey="count" name="記事数" fill="#8884d8" />
                </BarChart>
              </ResponsiveContainer>
            </Card.Body>
            <Card.Footer className="text-muted text-center">
              <small>出典: <a href="https://techcrunch.com/" target="_blank" rel="noopener noreferrer" className="text-blue-500 underline hover:text-blue-700">TechCrunch</a></small>
            </Card.Footer>
          </Card>
        </Col>
      </Row>
      
      <Card className="shadow mb-4">
        <Card.Header className="bg-primary text-white">
          <h5 className="mb-0">TechCrunch 今日のニュース一覧 (2025年3月13日)</h5>
        </Card.Header>
        <Card.Body>
          <Table striped hover responsive>
            <thead>
              <tr>
                <th>#</th>
                <th>タイトル</th>
                <th>カテゴリー</th>
                <th>投稿時間</th>
                <th>リンク</th>
              </tr>
            </thead>
            <tbody>
              {newsArticles.map((article, index) => (
                <tr key={index}>
                  <td>{index + 1}</td>
                  <td>{article.title}</td>
                  <td>
                    <Badge bg={getCategoryColor(article.category)}>
                      {article.category}
                    </Badge>
                  </td>
                  <td>
                    <Badge bg={getTimeColor(article.time)}>
                      {article.time}
                    </Badge>
                  </td>
                  <td>
                    <a href={article.url} target="_blank" rel="noopener noreferrer" className="btn btn-sm btn-outline-primary">
                      記事を読む
                    </a>
                  </td>
                </tr>
              ))}
            </tbody>
          </Table>
        </Card.Body>
        <Card.Footer className="text-muted">
          <div className="d-flex justify-content-between align-items-center">
            <small>合計: {newsArticles.length}件の記事</small>
            <small>出典: <a href="https://techcrunch.com/" target="_blank" rel="noopener noreferrer" className="text-blue-500 underline hover:text-blue-700">TechCrunch</a></small>
          </div>
        </Card.Footer>
      </Card>
      
      <Card className="shadow">
        <Card.Header className="bg-primary text-white">
          <h5 className="mb-0">記事カテゴリー分布</h5>
        </Card.Header>
        <Card.Body>
          <Row>
            {Object.entries(categoryCount).map(([category, count], index) => (
              <Col md={4} sm={6} className="mb-3" key={index}>
                <Card className="h-100 border-0 shadow-sm">
                  <Card.Body className="text-center">
                    <h5>
                      <Badge bg={getCategoryColor(category)} className="w-100 py-2">
                        {category}
                      </Badge>
                    </h5>
                    <h2 className="mt-3">{count}</h2>
                    <p className="text-muted mb-0">記事</p>
                  </Card.Body>
                </Card>
              </Col>
            ))}
          </Row>
        </Card.Body>
        <Card.Footer className="text-muted text-center">
          <small>出典: <a href="https://techcrunch.com/" target="_blank" rel="noopener noreferrer" className="text-blue-500 underline hover:text-blue-700">TechCrunch</a></small>
        </Card.Footer>
      </Card>
    </Container>
  );
};

export default App;

あなた

ニュースの概要をおしえて

回答

以下は、TechCrunchの2025年3月13日の最新ニュースの概要です。
【記事数】11件
【主な記事内容】 • Spotifyが、インディペンデントな著者によるオーディオブックの公開プログラ...

ブラウザを操作して、Techcrunchの今日のニュースの一覧を取得してください。

「ブラウザを操作して、Techcrunchの今日のニュースの一覧を取得してください。」を調査テーマとして設定します。

3/13/2025, 2:54:19 PM

ソースとして「ブラウザを操作して、Techcrunchの今日のニュースの一覧を取得してください。」を追加します。

supabase.co
3/13/2025, 2:57:42 PM

調査のまとめとして、「#### 回答 TechCrunchの2025年3月13日の最新ニュースは全11件確認でき、各記事は公開から数分~数時間前のものとなっています。以下の表は、各記事のタイトル、公開時刻、および記事URL...」を生成します。

3/13/2025, 2:57:45 PM

コード実行として、「import React from 'react'; import { Card, Container, Row, Col, Table, Badge } from 'react-bootstrap'...」を生成します。

3/13/2025, 2:57:46 PM

回答として、「以下は、TechCrunchの2025年3月13日の最新ニュースの概要です。 【記事数】11件 【主な記事内容】 • Spotifyが、インディペンデントな著者によるオーディオブックの公開プログラ...」を生成します。

3/14/2025, 6:28:56 AM