溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用Python網(wǎng)絡(luò)爬蟲(chóng)來(lái)看看最近電影院都有哪些上映的電影

發(fā)布時(shí)間:2021-10-28 14:00:01 來(lái)源:億速云 閱讀:168 作者:iii 欄目:編程語(yǔ)言

這篇文章主要講解了“怎么用Python網(wǎng)絡(luò)爬蟲(chóng)來(lái)看看最近電影院都有哪些上映的電影”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“怎么用Python網(wǎng)絡(luò)爬蟲(chóng)來(lái)看看最近電影院都有哪些上映的電影”吧!

項(xiàng)目實(shí)現(xiàn)

1、定義一個(gè)class類繼承object,定義init方法繼承self,主函數(shù)main繼承self。導(dǎo)入需要的庫(kù)和網(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、隨機(jī)產(chǎn)生UserAgent。

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

3、發(fā)送請(qǐng)求,獲取頁(yè)面響應(yīng)。

def get_page(self, url):    # random.choice一定要寫(xiě)在這里,每次請(qǐng)求都會(huì)隨機(jī)選擇    res = requests.get(url, headers=self.headers)    res.encoding = 'utf-8'   html = res.text    self.parse_page(html)

4、xpath解析一級(jí)頁(yè)面數(shù)據(jù),獲取頁(yè)面信息。

1)基準(zhǔn)xpath節(jié)點(diǎn)對(duì)象列表。

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

2)依次遍歷每個(gè)節(jié)點(diǎn)對(duì)象,提取數(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()方法,設(shè)置時(shí)間延時(shí)。

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

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

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

效果展示

1、點(diǎn)擊綠色小三角運(yùn)行輸入起始頁(yè),終止頁(yè)。

怎么用Python網(wǎng)絡(luò)爬蟲(chóng)來(lái)看看最近電影院都有哪些上映的電影

2、運(yùn)行程序后,結(jié)果顯示在控制臺(tái),如下圖所示。

怎么用Python網(wǎng)絡(luò)爬蟲(chóng)來(lái)看看最近電影院都有哪些上映的電影

3、點(diǎn)擊藍(lán)色下載鏈接, 網(wǎng)絡(luò)查看詳情。

怎么用Python網(wǎng)絡(luò)爬蟲(chóng)來(lái)看看最近電影院都有哪些上映的電影

感謝各位的閱讀,以上就是“怎么用Python網(wǎng)絡(luò)爬蟲(chóng)來(lái)看看最近電影院都有哪些上映的電影”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)怎么用Python網(wǎng)絡(luò)爬蟲(chóng)來(lái)看看最近電影院都有哪些上映的電影這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

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

AI