Rumah >pembangunan bahagian belakang >Tutorial Python >Gunakan perangkak web Python untuk melihat filem yang sedang ditayangkan di pawagam

Gunakan perangkak web Python untuk melihat filem yang sedang ditayangkan di pawagam

Go语言进阶学习
Go语言进阶学习ke hadapan
2023-07-25 17:21:571958semak imbas

/1 Kata Pengantar/

Maoyan Movies ialah platform yang dicipta bersama oleh Taobao dan Taobao untuk menyediakan kategori filem paling komprehensif Ia boleh memaklumkan kepada pengguna tentang masa pelancaran filem terkini secepat mungkin. Hari ini saya akan mengajar anda cara mendapatkan butiran filem akan datang daripada Filem Maoyan.

Gunakan perangkak web Python untuk melihat filem yang sedang ditayangkan di pawagam

/2 Matlamat Projek/

Dapatkan butiran filem Maoyan yang akan datang.


/3 Penyediaan projek/

Perisian: PyCharm pencarian semula

lxml

randommasa

Pemalam:

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

Apabila anda mengklik halaman seterusnya, offset=() meningkat sebanyak 30 untuk setiap halaman tambahan, jadi anda boleh menggunakan {}, untuk menggantikan pembolehubah diubah dan kemudian gunakan gelung for untuk melintasi URL untuk melaksanakan berbilang permintaan URL.

/4 pelaksanaan projek/

1. Tentukan kelas kelas untuk mewarisi objek, tentukan kaedah init untuk mewarisi diri, dan fungsi utama utama untuk mewarisi diri. Import perpustakaan dan URL yang diperlukan, kodnya adalah seperti berikut.

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


2、随机产生UserAgent。

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


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)


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

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

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


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 = '''【即将上映】


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

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


主演:%s


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


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

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


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

html = self.get_page(url)
self.parse_page(html)


/5 Paparan kesan/

1 Klik segitiga hijau untuk menjalankan input halaman permulaan dan halaman akhir.

Gunakan perangkak web Python untuk melihat filem yang sedang ditayangkan di pawagam


2. Selepas menjalankan program, hasilnya dipaparkan pada konsol, seperti yang ditunjukkan dalam rajah di bawah.

Gunakan perangkak web Python untuk melihat filem yang sedang ditayangkan di pawagam


3. Klik pautan muat turun biru untuk melihat butiran dalam talian. .
2. Artikel ini berdasarkan perangkak web Python dan menggunakan perpustakaan perangkak untuk merangkak filem Maoyan.

Atas ialah kandungan terperinci Gunakan perangkak web Python untuk melihat filem yang sedang ditayangkan di pawagam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Go语言进阶学习. Jika ada pelanggaran, sila hubungi admin@php.cn Padam