您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么用Python網絡爬蟲來看看最近電影院都有哪些上映的電影”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么用Python網絡爬蟲來看看最近電影院都有哪些上映的電影”吧!
項目實現
1、定義一個class類繼承object,定義init方法繼承self,主函數main繼承self。導入需要的庫和網址,代碼如下所示。
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)
效果展示
1、點擊綠色小三角運行輸入起始頁,終止頁。
2、運行程序后,結果顯示在控制臺,如下圖所示。
3、點擊藍色下載鏈接, 網絡查看詳情。
感謝各位的閱讀,以上就是“怎么用Python網絡爬蟲來看看最近電影院都有哪些上映的電影”的內容了,經過本文的學習后,相信大家對怎么用Python網絡爬蟲來看看最近電影院都有哪些上映的電影這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。