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

Lepaskan: 2023-07-25 17:21:57
ke hadapan
1891 orang telah melayarinya

/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={}
Salin selepas log masuk

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()
Salin selepas log masuk


2、随机产生UserAgent。

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


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)
Salin selepas log masuk


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

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

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


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


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

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


主演:%s


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


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

time.sleep(random.randint(1, 3))
Salin selepas log masuk


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

html = self.get_page(url)
self.parse_page(html)
Salin selepas log masuk


/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!

Label berkaitan:
sumber:Go语言进阶学习
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan