Heim >Backend-Entwicklung >Python-Tutorial >Verwenden Sie einen Python-Webcrawler, um zu sehen, welche Filme derzeit in den Kinos laufen
/1 Vorwort/
/2 Projektziel/
Erhalten Sie Details zu kommenden Filmen von Maoyan Movies.
/3 Projektvorbereitung/
Software: PyCharm
Erforderliche Bibliotheken: re quests、lxml、zufällig、 Zeit
Plug-in: https://maoyan.com/films?showType=2&offset={}
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.
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.
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()
for i in range(1, 50): # ua.random,一定要写在这里,每次请求都会随机选择。 self.headers = { 'User-Agent': ua.random, }
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)
1)基准xpath节点对象列表。
# 创建解析对象 parse_html = etree.HTML(html) # 基准xpath节点对象列表 dd_list = parse_html.xpath('//dl[@class="movie-list"]//dd')
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 = '''【即将上映】
movie = '''【即将上映】 电影名字: %s 主演:%s 类型:%s 详情链接:https://maoyan.com%s ========================================================= ''' % (name, star, type,dowld) print( movie)
time.sleep(random.randint(1, 3))
html = self.get_page(url) self.parse_page(html)
/5 Effektanzeige/
1 Klicken Sie auf das grüne Dreieck, um die Eingabe-Startseite und -Endseite auszuführen.
2. Nach dem Ausführen des Programms werden die Ergebnisse auf der Konsole angezeigt, wie in der Abbildung unten dargestellt.
3. Klicken Sie auf den blauen Download-Link, um die Details online anzuzeigen.
/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!