使用者輸入喜歡的電影名字,程式即可在電影天堂爬取電影所對應的下載連結,並將下載連結列印出來。
1 #7、一鍵下電影 2 # 使用者輸入喜歡的電影名字,程式即可在電影天堂爬取電影所對應的下載連結,並將下載連結列印出來。 3 # URL https://www.ygdy8.com 4 5 from urllib.request import quote 6 import requests 7 from bs4 import BeautifulSoup 8 key_word = quote(input('請輸入你喜歡的電影名: '),encoding='gbk') 9 #key_word = quote('瘋狂的外星人',encoding='gbk') 10 res = requests.get('http://s.ygdy8.com/plus/so.php?typeid=1&keyword={}'.format(key_word)) 11 res.encoding='gbk' 12 html = res.text 13 soup = BeautifulSoup(html,'html.parser') 14 check_none = soup.find('div',class_='co_content8').find('table') 15 16 if check_none: 17 item = soup.find('td',width='55%').find('b').find('a') 18 my_url = 'https://www.ygdy8.com'+item['href'] 19 20 res = requests.get(my_url) 21 res.encoding='gbk' 22 html = res.text 23 soup = BeautifulSoup(html,'html.parser') 24 item = soup.find('td',style='WORD-WRAP: break-word').find('a') 25 print(item.text) 26 else: 27 print('沒有找到你喜歡的電影') 28 29 30 ''' 31 執行結果如下: 32 請輸入你喜歡的電影名: 0976222 33 沒有找到你喜歡的電影 34 35 請輸入你喜歡的電影名: 齊天大聖 36 ftp://ygdy8:ygdy8@yg45.dydytt.net:7387/陽光電影www.ygdy8.com.齊天大聖之大鬧龍宮.HD.720p.國語中字.mkv 37 ''' 38 ''' 39 import requests 40 from bs4 import BeautifulSoup 41 from urllib.request import quote 42 #quote()函式,可以幫我們把內容轉為標準的url格式,作為網址的一部分開啟 43 44 movie = input('你想看什麼電影呀?') 45 gbkmovie = movie.encode('gbk') 46 #將漢字,用gbk格式編碼,賦值給gbkmovie 47 url = 'http://s.ygdy8.com/plus/so.php?typeid=1&keyword='+quote(gbkmovie) 48 #將gbk格式的內容,轉為url,然後和前半部分的網址拼接起來。 49 res = requests.get(url) 50 #下載××電影的搜尋頁面 51 res.encoding ='gbk' 52 #定義res的編碼型別為gbk 53 soup_movie = BeautifulSoup(res.text,'html.parser') 54 #解析網頁 55 urlpart = soup_movie.find(class_="co_content8").find_all('table') 56 # print(urlpart) 57 58 if urlpart: 59 urlpart = urlpart[0].find('a')['href'] 60 urlmovie = 'https://www.ygdy8.com/' + urlpart 61 res1 = requests.get(urlmovie) 62 res1.encoding = 'gbk' 63 soup_movie1 = BeautifulSoup(res1.text,'html.parser') 64 urldownload = soup_movie1.find('div',id="Zoom").find('span').find('table').find('a')['href'] 65 print(urldownload) 66 else: 67 print('沒有' + movie) 68 # 有些電影是查詢不到沒下載連結的,因此加了個判斷 69 '''
1 搜尋到電影的html 2 3 <div class="co_content8"> 4 <ul> 5 <table border="0" width="100%"> 6 <tbody> 7 <tr height="24"> 8 <td width="6%" align="center"> 9 <img src="/img/file.gif" width="18" height="17"> 10 </td> 11 <td width="55%"><b><a href="/html/gndy/jddy/20190206/58170.html">2018年奇幻動作《 12 <font color="red"> 13 齊天大聖 14 </font> 15 之大鬧龍宮》HD國語中字</a></b> 16 </td> 17 </tr> 18 <tr> 19 <td height="56" colspan="3"> [ 20 <font color="red"> 21 齊天大聖 22 </font> 23 之大鬧龍宮][HD-mkv.720p.國語中字][2018年奇幻動作] 24 ◎譯 名 ◎片 名 <font color="red"> 25 齊天大聖 26 </font>之大鬧龍宮 ◎年 27 代 2019 ◎產 地 中國 28 ◎類 別 動作/奇幻/武俠 ◎語 29 言 普通話 ◎字 幕 中文 30 ◎上映日期 31 2019-02-01(中國) 32 ◎檔案格式 x264 + aac 33 ◎視訊尺寸 1280 x 720 34 ◎檔案<font color="#8F8C89"> 35 (2019-02-05) 36 </font> 37 </td> 38 </tr> 39 <tr> 40 <td height="2" colspan="4" background="/img/writerbg.gif"> 41 </td> 42 </tr> 43 </tbody> 44 </table> 45 </ul> 46 </div> 47 48 49 沒有搜尋到電影的html 50 51 <div class="co_content8"> 52 <ul> 53 共0頁/0條記錄 54 </ul> 55 </div>