Maison  >  Article  >  cadre php  >  Créer un site Web de films avec une recherche puissante : Guide Webman des applications cinématographiques

Créer un site Web de films avec une recherche puissante : Guide Webman des applications cinématographiques

王林
王林original
2023-08-12 11:25:521568parcourir

Créer un site Web de films avec une recherche puissante : Guide Webman des applications cinématographiques

Créez un site Web de films avec une fonction de recherche puissante : Guide d'application de films de Webman

Introduction : Avec la popularité et le développement d'Internet, de plus en plus de personnes sont habituées à utiliser des sites Web de films pour parcourir et sélectionner des films. Cet article expliquera comment créer un site Web de films avec de puissantes fonctions de recherche - Webman, et démontrera son processus de mise en œuvre à travers des exemples de code.

1. Préparation du projet

Afin de créer Webman, nous devons d'abord préparer les outils et ressources suivants :

  1. Node.js : un environnement d'exécution JavaScript basé sur le moteur Chrome V8 pour le développement back-end.
  2. Express.js : un cadre d'application Web rapide, ouvert et minimaliste pour créer rapidement des applications côté serveur.
  3. MongoDB : une base de données non relationnelle utilisée pour stocker des données d'informations sur les films.
  4. API TMDb : une API qui fournit des informations sur les films et une base de données sur les films. Nous utiliserons cette API pour obtenir des données de film.

2. Créez le projet

Tout d'abord, nous créons un dossier nommé Webman sur l'ordinateur, puis ouvrons l'outil de ligne de commande, entrons dans le dossier et exécutons la commande suivante pour initialiser un nouveau projet Node.js :

npm init -y

Ensuite, nous installons Express.js et le pilote Node.js pour MongoDB :

npm install express mongodb

Ensuite, nous créons un fichier appelé index.js et y importons les modules requis :

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

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

// 在这里编写代码

3. Obtenez les données du film

Nous utiliserons API TMDb pour obtenir des données de film. Tout d’abord, nous devons demander une clé API sur le site officiel de TMDb. Après avoir obtenu la clé API, nous pouvons utiliser le code suivant pour envoyer une requête à TMDb et obtenir les données du film :

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. Stocker les données du film

Ensuite, nous devons stocker les données du film obtenues dans la base de données MongoDB. Tout d'abord, nous devons créer une base de données nommée webman dans MongoDB et créer une collection nommée movies. Nous pouvons ensuite stocker les données dans la base de données en utilisant le code suivant : 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. Implémenter la fonction de recherche

Maintenant, nous allons ajouter la fonction de recherche à Webman. Nous pouvons utiliser le code suivant pour implémenter une interface de recherche simple :

rrreee

Maintenant, nous pouvons implémenter la fonction de recherche en appelant /movies/search?keyword=keyword. 🎜🎜6. Test🎜🎜À ce stade, les fonctions de base de Webman ont été implémentées. Nous pouvons utiliser la commande suivante pour démarrer le serveur et tester la fonction de recherche en visitant http://localhost:3000/movies/search?keyword=wolverine dans le navigateur : 🎜rrreee🎜Si tout va bien , Vous verrez les données du film renvoyées. 🎜🎜Conclusion : Cet article explique comment créer un site Web de films avec une fonction de recherche puissante - Webman. En utilisant Node.js, Express.js et MongoDB, nous avons implémenté avec succès les fonctions d'acquisition, de stockage et de recherche de données cinématographiques. J'espère que cet article vous aidera à créer votre propre site Web de films. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn