Maison > développement back-end > Tutoriel Python > Utilisez un robot d'exploration Web Python pour voir quels films sont actuellement diffusés dans les salles de cinéma

Utilisez un robot d'exploration Web Python pour voir quels films sont actuellement diffusés dans les salles de cinéma

Libérer: 2023-07-25 17:21:57
avant
1936 Les gens l'ont consulté

/1 Avant-propos/

Maoyan Movies est une plateforme créée conjointement par Taobao et Taobao pour fournir les catégories de films les plus complètes. Elle peut informer les utilisateurs de l'heure de lancement du dernier film dès que possible. Aujourd'hui, je vais vous apprendre comment obtenir les détails des films à venir de Maoyan Movies.

Utilisez un robot d'exploration Web Python pour voir quels films sont actuellement diffusés dans les salles de cinéma

/2 Objectif du projet/

Obtenez les détails des films à venir de Maoyan Movies.


/3 Préparation du projet/

Logiciel : PyCharm

Bibliothèques requises : re quêteslxmlaléatoiretemps

Plug-in :

https://maoyan.com/films?showType=2&offset={}
Copier après la connexion

Lorsque vous cliquez sur la page suivante, le offset=() augmente de 30 pour chaque page supplémentaire, vous pouvez donc utiliser {} pour remplacer la variable transformée, puis utilisez une boucle for pour parcourir l'URL afin d'implémenter plusieurs requêtes d'URL.

/4 Implémentation du projet/

1. Définir une classe pour hériter de l'objet, définir la méthode d'initialisation pour hériter de soi et la fonction principale main hériter de soi. Importez les bibliothèques et URL requises, le code est le suivant.

import requests
from lxml import etree


import time
import random


class MaoyanSpider(object):
    def __init__(self):
      self.url = "https://maoyan.com/films?showType=2&offset={}"


    def main(self):
        pass


if __name__ == '__main__':
    spider = MaoyanSpider()
    spider.main()
Copier après la connexion


2、随机产生UserAgent。

 for i in range(1, 50):
    # ua.random,一定要写在这里,每次请求都会随机选择。
        self.headers = {
            'User-Agent': ua.random,
        }
Copier après la connexion


3、发送请求,获取页面响应。

def get_page(self, url):
  # random.choice一定要写在这里,每次请求都会随机选择
  res = requests.get(url, headers=self.headers)
  res.encoding = 'utf-8'
  html = res.text
  self.parse_page(html)
Copier après la connexion


4、xpath解析一级页面数据,获取页面信息。

1)基准xpath节点对象列表。

 #  创建解析对象
parse_html = etree.HTML(html)
# 基准xpath节点对象列表
dd_list = parse_html.xpath('//dl[@class="movie-list"]//dd')
Copier après la connexion


2)依次遍历每个节点对象,提取数据。

 for dd in dd_list:
    name = dd.xpath('.//div[@class="movie-hover-title"]//span[@class="name noscore"]/text()')[0].strip()
    star = dd.xpath('.//div[@class="movie-hover-info"]//div[@class="movie-hover-title"][3]/text()')[1].strip()
    type = dd.xpath('.//div[@class="movie-hover-info"]//div[@class="movie-hover-title"][2]/text()')[1].strip()
    dowld=dd.xpath('.//div[@class="movie-item-hover"]/a/@href')[0].strip()
    # print(movie_dict)
    movie = '''【即将上映】
Copier après la connexion


5、定义movie,保存打印数据。

 movie = '''【即将上映】
            
电影名字: %s


主演:%s


类型:%s
详情链接:https://maoyan.com%s
=========================================================
                                   ''' % (name, star, type,dowld)
print( movie)
Copier après la connexion


6、random.randint()方法,设置时间延时。

time.sleep(random.randint(1, 3))
Copier après la connexion


7、调用方法,实现功能。

html = self.get_page(url)
self.parse_page(html)
Copier après la connexion


/5 Affichage des effets/

1 Cliquez sur le triangle vert pour exécuter la page de début et la page de fin de saisie.

Utilisez un robot d'exploration Web Python pour voir quels films sont actuellement diffusés dans les salles de cinéma


2. Après avoir exécuté le programme, les résultats sont affichés sur la console, comme indiqué dans la figure ci-dessous.

Utilisez un robot d'exploration Web Python pour voir quels films sont actuellement diffusés dans les salles de cinéma


3. Cliquez sur le lien de téléchargement bleu pour afficher les détails en ligne.

Utilisez un robot d'exploration Web Python pour voir quels films sont actuellement diffusés dans les salles de cinéma


/6 Résumé/

1. Essayez-le brièvement.

2. Cet article est basé sur le robot d'exploration Web Python et utilise la bibliothèque de robots pour explorer les films Maoyan.

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!

Étiquettes associées:
source:Go语言进阶学习
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal