Heim  >  Artikel  >  PHP-Framework  >  Erstellen einer Film-Website mit leistungsstarker Suche: Webmans Leitfaden für Filmanwendungen

Erstellen einer Film-Website mit leistungsstarker Suche: Webmans Leitfaden für Filmanwendungen

王林
王林Original
2023-08-12 11:25:521567Durchsuche

Erstellen einer Film-Website mit leistungsstarker Suche: Webmans Leitfaden für Filmanwendungen

Erstellen Sie eine Film-Website mit leistungsstarker Suchfunktion: Webman’s Movie Application Guide

Einführung: Mit der Beliebtheit und Entwicklung des Internets sind immer mehr Menschen daran gewöhnt, Film-Websites zum Durchsuchen und Auswählen von Filmen zu verwenden. In diesem Artikel wird die Erstellung einer Filmwebsite mit leistungsstarker Suchfunktion – Webman – vorgestellt und der Implementierungsprozess anhand von Codebeispielen gezeigt.

1. Projektvorbereitung

Um Webman zu erstellen, müssen wir zunächst die folgenden Tools und Ressourcen vorbereiten:

  1. Node.js: eine JavaScript-Laufumgebung basierend auf der Chrome V8-Engine für die Backend-Entwicklung.
  2. Express.js: Ein schnelles, offenes, minimalistisches Webanwendungs-Framework für die schnelle Erstellung serverseitiger Anwendungen.
  3. MongoDB: Eine nicht relationale Datenbank zum Speichern von Filminformationsdaten.
  4. TMDb API: Eine API, die Filminformationen und eine Filmdatenbank bereitstellt. Wir werden diese API verwenden, um Filmdaten abzurufen.

2. Erstellen Sie das Projekt

Zuerst erstellen wir einen Ordner namens Webman auf dem Computer, öffnen dann das Befehlszeilentool, geben den Ordner ein und führen den folgenden Befehl aus, um ein neues Node.js-Projekt zu initialisieren:

npm init -y

Dann installieren wir Express.js und den Node.js-Treiber für MongoDB:

npm install express mongodb

Als nächstes erstellen wir eine Datei namens index.js und importieren die erforderlichen Module darin:

const express = require('express');
const MongoClient = require('mongodb').MongoClient;

const app = express();
const port = 3000;

// 在这里编写代码

3. Filmdaten abrufen

Wir werden verwenden TMDb-API zum Abrufen von Filmdaten. Zuerst müssen wir auf der offiziellen TMDb-Website einen API-Schlüssel beantragen. Nachdem wir den API-Schlüssel erhalten haben, können wir den folgenden Code verwenden, um eine Anfrage an TMDb zu senden und die Filmdaten abzurufen:

const apiKey = 'YOUR_API_KEY';

app.get('/movies', (req, res) => {
  const url = `https://api.themoviedb.org/3/discover/movie?api_key=${apiKey}`;

  // 使用Node.js的内置http模块来发送请求
  http.get(url, (response) => {
    let data = '';

    response.on('data', (chunk) => {
      data += chunk;
    });

    response.on('end', () => {
      const movies = JSON.parse(data).results;
      res.send(movies);
    });
  });
});

4. Speichern Sie die Filmdaten

Als nächstes müssen wir die erhaltenen Filmdaten in der MongoDB-Datenbank speichern. Zuerst müssen wir in MongoDB eine Datenbank mit dem Namen webman und eine Sammlung mit dem Namen movies erstellen. Anschließend können wir die Daten mit dem folgenden Code in der Datenbank speichern: webman的数据库,并创建一个名为movies的集合。然后,我们可以使用以下代码将数据存储到数据库中:

const url = 'mongodb://localhost:27017';
const dbName = 'webman';

MongoClient.connect(url, (err, client) => {
  if (err) {
    console.log(err);
  } else {
    console.log('Connected to MongoDB');

    const db = client.db(dbName);
    const collection = db.collection('movies');
    
    app.get('/movies/save', (req, res) => {
      const url = `https://api.themoviedb.org/3/discover/movie?api_key=${apiKey}`;

      http.get(url, (response) => {
        let data = '';

        response.on('data', (chunk) => {
          data += chunk;
        });

        response.on('end', () => {
          const movies = JSON.parse(data).results;
          
          collection.insertMany(movies, (err, result) => {
            if (err) {
              console.log(err);
              res.send(err);
            } else {
              console.log('Movies saved to database');
              res.send('Movies saved to database');
            }
          });
        });
      });
    });
  }
});

五、实现搜索功能

现在,我们将为Webman添加搜索功能。我们可以使用以下代码来实现一个简单的搜索接口:

app.get('/movies/search', (req, res) => {
  const keyword = req.query.keyword;

  const query = {
    $or: [
      { title: { $regex: keyword, $options: 'i' } },
      { overview: { $regex: keyword, $options: 'i' } }
    ]
  };

  collection.find(query).toArray((err, result) => {
    if (err) {
      console.log(err);
      res.send(err);
    } else {
      res.send(result);
    }
  });
});

现在,我们可以通过调用/movies/search?keyword=关键词来实现搜索功能了。

六、测试

至此,Webman的基本功能已经实现。我们可以使用以下命令来启动服务器,并在浏览器中访问http://localhost:3000/movies/search?keyword=金刚狼

node index.js

5. Implementieren Sie die Suchfunktion

Jetzt fügen wir die Suchfunktion zu Webman hinzu. Wir können den folgenden Code verwenden, um eine einfache Suchschnittstelle zu implementieren:

rrreee

Jetzt können wir die Suchfunktion implementieren, indem wir /movies/search?keyword=keyword aufrufen. 🎜🎜6. Test🎜🎜Zu diesem Zeitpunkt sind die Grundfunktionen von Webman implementiert. Mit dem folgenden Befehl können wir den Server starten und die Suchfunktion testen, indem wir im Browser http://localhost:3000/movies/search?keyword=wolverine aufrufen: 🎜rrreee🎜Wenn alles in Ordnung ist , Sie sehen die zurückgegebenen Filmdaten. 🎜🎜Fazit: Dieser Artikel stellt vor, wie man eine Film-Website mit leistungsstarker Suchfunktion erstellt – Webman. Durch den Einsatz von Node.js, Express.js und MongoDB haben wir die Erfassungs-, Speicher- und Suchfunktionen von Filmdaten erfolgreich implementiert. Ich hoffe, dieser Artikel hilft Ihnen beim Aufbau Ihrer eigenen Film-Website. 🎜

Das obige ist der detaillierte Inhalt vonErstellen einer Film-Website mit leistungsstarker Suche: Webmans Leitfaden für Filmanwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn