用Python爬蟲來看看最近都上映了哪些電影

                  上一篇 / 下一篇  2020-09-21 11:03:08

                    前言
                    貓眼電影是淘寶聯合打造電影分類最全的電影的平臺,能夠第一時間告知用戶,最新的電影上線時間。今天教大家獲取貓眼電影的即將上映的電影詳情。
                    項目目標
                    獲取貓眼電影的即將上映的電影詳情。
                    項目準備
                    軟件:PyCharm
                    需要的庫:requests、lxml、random、time
                    插件:Xpath
                    網站如下:
                    https://maoyan.com/films?showType=2&offset={} 
                    點擊下一頁的按鈕,觀察到網站的變化分別如下:
                    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循環遍歷這網址,實現多個網址請求。
                    項目實現
                    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、點擊藍色下載鏈接, 網絡查看詳情。
                    小結
                    1、不建議抓取太多數據,容易對服務器造成負載,淺嘗輒止即可。
                    2、本文基于Python網絡爬蟲,利用爬蟲庫,實現爬取貓眼電影。
                    3、歡迎大家積極嘗試,有時候看到別人實現起來很簡單,但是到自己動手實現的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。

                  TAG: 軟件開發 Python

                   

                  評分:0

                  我來說兩句

                  Open Toolbar
                  亚洲欧洲自拍图片专区123_久久久精品人妻无码专区不卡_青青精品视频国产色天使_A免看的日黄亚洲