這篇文章主要講解了“怎么用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)看看最近電影院都有哪些上映的電影”吧!
10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有密云免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
項(xiàng)目實(shí)現(xiàn)
1、定義一個(gè)class類(lèi)繼承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 類(lèi)型:%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è)。
2、運(yùn)行程序后,結(jié)果顯示在控制臺(tái),如下圖所示。
3、點(diǎn)擊藍(lán)色下載鏈接, 網(wǎng)絡(luò)查看詳情。
感謝各位的閱讀,以上就是“怎么用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)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
文章標(biāo)題:怎么用Python網(wǎng)絡(luò)爬蟲(chóng)來(lái)看看最近電影院都有哪些上映的電影
瀏覽地址:http://jinyejixie.com/article18/posogp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、標(biāo)簽優(yōu)化、微信公眾號(hào)、App開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)