随机获取3部豆瓣top250电影,并打印下载链接

import requests
import openpyxl
import csv
from bs4 import BeautifulSoup
import random
from urllib.request import quote

#创建excel存储top250电影信息
wb=openpyxl.Workbook()
sheet=wb.active
sheet.title='movie_info'
sheet['A1'] ='序号'
sheet['B1'] ='电影名'
sheet['C1'] ='电影连接'
sheet['D1'] ='文字简介'
a=0
b=0
movie_list=[]
while a<=225:
    headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
    }
    url='https://movie.douban.com/top250?start={}&filter='.format(a)
    a=a+25
    res=requests.get(url,headers=headers)
    bs=BeautifulSoup(res.text,'html.parser')
    items=bs.find_all(class_='item')
    for item in items:
        movie_name=item.find(class_='title').text
        movie_url =item.find('a')['href']
        movie_inq =item.find(class_='inq').text
        movie_photo=item.find('img')['src']
        b=b+1
        movie_list.append(movie_name)
        #print(b,movie_name,movie_url,movie_inq)
        #print(movie_name,movie_photo)   
        sheet.append([b,movie_name,movie_url,movie_inq])#保存电影信息到excel
wb.save('D:\\pythontest\\douban_movie_list.xlsx')
print('ok')

#excel的读取
wb=openpyxl.load_workbook('D:\\pythontest\\douban_movie_list.xlsx')
#调用openpyxl.load_workbook()函数,打开" ***.xlsx "文件。
sheet=wb['movie_info']#获取“Marvel.xlsx”工作薄中名为“movie_info”的工作表
sheetname=wb.sheetnames#sheetnames 是用来获取工作薄所有工作表的名字,如果不知道工作薄到底有几个工作表,就可以把工作表的名字都打印出来。
#print(sheetname)
 
#随机选取3部电影,并打印
for i in range(3):
    num=random.randint(1,250)
    B2=sheet['B'+str(num)]  #把“movie_info”工作表中B2单元格赋值给B2_cell
    B2_value=B2.value       #再利用单元格.value属性
    #B2_value=sheet['B2'].value 
    print(B2_value)
    #print(type(B2_value))
 
    # 爬电影的下载链接
    movie=B2_value
    gbkmovie = movie.encode('gbk')
    urlsearch = 'http://s.ygdy8.com/plus/s0.php?typeid=1&keyword='+quote(gbkmovie)
    res = requests.get(urlsearch)
    res.encoding='gbk'
    soup_movie = BeautifulSoup(res.text,'html.parser')
    urlpart=soup_movie.find(class_="co_content8").find_all('table')
    if urlpart:
        urlpart=urlpart[0].find('a')['href']
        urlmovie='https://www.ygdy8.com/'+urlpart
        res1=requests.get(urlmovie)
        res1.encoding='gbk'
        soup_movie1=BeautifulSoup(res1.text,'html.parser')
        urldownload=soup_movie1.find('div',id="Zoom").find('span').find('table').find('a')['href']
        print(urldownload)
    else:
        print('没有'+movie+'的链接')
#打印结果

PS D:\pythontest> & C:/Users/定时电影.py
告白
ftp://dygod1:[email protected]:2871/告白.[中字.1024分辨率]/[电影天堂www.dy2018.net]告白BD中字.rmvb
菊次郎的夏天
没有菊次郎的夏天的链接
狩猎
ftp://dygod1:[email protected]:9018/[电影天堂-www.dy2018.net].狩猎.BD.1280x720.中英双字幕.rmvb
PS D:\pythontest> & C:/Users/定时电影.py
无间道
ftp://dygod1:[email protected]:5002/无间盗.[国语中字.1024分辨率]/[电影天堂www.dy2018.net]无间盗HD国语中字.mkv
教父
ftp://ygdy8:[email protected]:5058/阳光电影www.ygdy8.com.黑人音乐教父.BD.720p.中英双字幕.mkv
燃情岁月
ftp://dygod1:[email protected]:1022/燃情岁月.[中英双字.1024分辨率]/[电影天堂www.dy2018.com]燃情岁月BD中英双字.rmvb
PS D:\pythontest>
'D:\\pythontest\\douban_movie_list.xlsx'

猜你喜欢

转载自www.cnblogs.com/zxzxq/p/12043990.html