溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Python看一看最近有什么剛上映的電影

發(fā)布時間:2021-11-25 14:36:17 來源:億速云 閱讀:126 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“怎么用Python看一看最近有什么剛上映的電影”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

項目目標

獲取貓眼電影的即將上映的電影詳情。

項目準備

軟件:PyCharm

需要的庫:requests、lxmlrandom、time

插件:Xpath

網(wǎng)站如下:

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

點擊下一頁的按鈕,觀察到網(wǎng)站的變化分別如下:

https://maoyan.com/films?showType=2&offset=30
https://maoyan.com/films?showType=2&offset=60
https://maoyan.com/films?showType=2&offset=90

點擊下一頁時,頁面每增加一頁offset=()每次增加30,所以可以用{}代替變換的變量,再用for循環(huán)遍歷這網(wǎng)址,實現(xiàn)多個網(wǎng)址請求。

項目實現(xiàn)

1、定義一個class類繼承object,定義init方法繼承self,主函數(shù)main繼承self。導入需要的庫和網(wǎng)址,代碼如下所示。

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、隨機產(chǎn)生UserAgent。

 for i in range(1, 50):
    # ua.random,一定要寫在這里,每次請求都會隨機選擇。
        self.headers = {
            'User-Agent': ua.random,
        }

3、發(fā)送請求,獲取頁面響應。

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解析一級頁面數(shù)據(jù),獲取頁面信息。

1)基準xpath節(jié)點對象列表。

 #  創(chuàng)建解析對象
parse_html = etree.HTML(html)
# 基準xpath節(jié)點對象列表
dd_list = parse_html.xpath('//dl[@class="movie-list"]//dd')

2)依次遍歷每個節(jié)點對象,提取數(shù)據(jù)。

 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,保存打印數(shù)據(jù)。

movie = '''【即將上映】
            
電影名字: %s

主演:%s

類型:%s
詳情鏈接:https://maoyan.com%s
=========================================================
                                   ''' % (name, star, type,dowld)
print( movie)

6、random.randint()方法,設置時間延時。

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

7、調(diào)用方法,實現(xiàn)功能。

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

效果展示

1、點擊綠色小三角運行輸入起始頁,終止頁。

怎么用Python看一看最近有什么剛上映的電影

2、運行程序后,結(jié)果顯示在控制臺。

3、點擊藍色下載鏈接, 網(wǎng)絡查看詳情。

怎么用Python看一看最近有什么剛上映的電影

“怎么用Python看一看最近有什么剛上映的電影”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI