Heim > Backend-Entwicklung > Python-Tutorial > Verwenden Sie einen Python-Webcrawler, um zu sehen, welche Filme derzeit in den Kinos laufen

Verwenden Sie einen Python-Webcrawler, um zu sehen, welche Filme derzeit in den Kinos laufen

Freigeben: 2023-07-25 17:21:57
nach vorne
1953 Leute haben es durchsucht

/1 Vorwort/

Maoyan Movies ist eine von Taobao und Taobao gemeinsam geschaffene Plattform, um die umfassendsten Filmkategorien bereitzustellen und Benutzer so schnell wie möglich über die neueste Filmstartzeit zu informieren. Heute werde ich Ihnen beibringen, wie Sie Details zu kommenden Filmen von Maoyan Movies erhalten.

Verwenden Sie einen Python-Webcrawler, um zu sehen, welche Filme derzeit in den Kinos laufen

/2 Projektziel/

Erhalten Sie Details zu kommenden Filmen von Maoyan Movies.


/3 Projektvorbereitung/

Software: PyCharm

Erforderliche Bibliotheken: re questslxmlzufälligZeit

Plug-in:

1

<strong>https://maoyan.com/films?showType=2&offset={}</strong>

Nach dem Login kopieren

Wenn Sie auf die nächste Seite klicken, erhöht sich der Offset=() für jede weitere Seite um 30, sodass Sie {} verwenden können, um die transformierte Variable zu ersetzen. Verwenden Sie dann eine for-Schleife, um die URL zu durchlaufen und mehrere URL-Anfragen zu implementieren.

/4 Projektimplementierung/

1. Definieren Sie eine Klasse, um das Objekt zu erben, definieren Sie die Init-Methode, um sich selbst zu erben, und Hauptfunktion main sich selbst erben. Importieren Sie die erforderlichen Bibliotheken und URLs. Der Code lautet wie folgt.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

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()

Nach dem Login kopieren


2、随机产生UserAgent。

1

2

3

4

5

for i in range(1, 50):

   # ua.random,一定要写在这里,每次请求都会随机选择。

       self.headers = {

           &#39;User-Agent&#39;: ua.random,

       }

Nach dem Login kopieren


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

1

2

3

4

5

6

def get_page(self, url):

  # random.choice一定要写在这里,每次请求都会随机选择

  res = requests.get(url, headers=self.headers)

  res.encoding = &#39;utf-8&#39;

  html = res.text

  self.parse_page(html)

Nach dem Login kopieren


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

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

1

2

3

4

#  创建解析对象

parse_html = etree.HTML(html)

# 基准xpath节点对象列表

dd_list = parse_html.xpath(&#39;//dl[@class="movie-list"]//dd&#39;)

Nach dem Login kopieren


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

1

2

3

4

5

6

7

for dd in dd_list:

   name = dd.xpath(&#39;.//div[@class="movie-hover-title"]//span[@class="name noscore"]/text()&#39;)[0].strip()

   star = dd.xpath(&#39;.//div[@class="movie-hover-info"]//div[@class="movie-hover-title"][3]/text()&#39;)[1].strip()

   type = dd.xpath(&#39;.//div[@class="movie-hover-info"]//div[@class="movie-hover-title"][2]/text()&#39;)[1].strip()

   dowld=dd.xpath(&#39;.//div[@class="movie-item-hover"]/a/@href&#39;)[0].strip()

   # print(movie_dict)

   movie = &#39;&#39;&#39;【即将上映】

Nach dem Login kopieren


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

1

2

3

4

5

6

7

8

9

10

11

12

13

movie = &#39;&#39;&#39;【即将上映】

             

电影名字: %s

 

 

主演:%s

 

 

类型:%s

详情链接:https://maoyan.com%s

=========================================================

                                   &#39;&#39;&#39; % (name, star, type,dowld)

print( movie)

Nach dem Login kopieren


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

1

time.sleep(random.randint(1, 3))

Nach dem Login kopieren


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

1

2

html = self.get_page(url)

self.parse_page(html)

Nach dem Login kopieren


/5 Effektanzeige/

1 Klicken Sie auf das grüne Dreieck, um die Eingabe-Startseite und -Endseite auszuführen.

Verwenden Sie einen Python-Webcrawler, um zu sehen, welche Filme derzeit in den Kinos laufen


2. Nach dem Ausführen des Programms werden die Ergebnisse auf der Konsole angezeigt, wie in der Abbildung unten dargestellt.

Verwenden Sie einen Python-Webcrawler, um zu sehen, welche Filme derzeit in den Kinos laufen


3. Klicken Sie auf den blauen Download-Link, um die Details online anzuzeigen.

Verwenden Sie einen Python-Webcrawler, um zu sehen, welche Filme derzeit in den Kinos laufen


/6 Zusammenfassung/

1 Es wird nicht empfohlen, zu viele Daten zu erfassen, da dies leicht zu einer Belastung des Servers führt.

2. Dieser Artikel basiert auf dem Python-Webcrawler und verwendet die Crawler-Bibliothek zum Crawlen von Maoyan-Filmen.

Das obige ist der detaillierte Inhalt vonVerwenden Sie einen Python-Webcrawler, um zu sehen, welche Filme derzeit in den Kinos laufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:Go语言进阶学习
Erklärung dieser Website
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage