首页 > 其他 > 详细

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

时间:2019-12-15 14:51:36      阅读:92      评论:0      收藏:0      [点我收藏+]
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:dygod1@d092.dygod.org:2871/告白.[中字.1024分辨率]/[电影天堂www.dy2018.net]告白BD中字.rmvb
菊次郎的夏天
没有菊次郎的夏天的链接
狩猎
ftp://dygod1:dygod1@d079.dygod.org:9018/[电影天堂-www.dy2018.net].狩猎.BD.1280x720.中英双字幕.rmvb
PS D:\pythontest> & C:/Users/定时电影.py
无间道
ftp://dygod1:dygod1@d065.dygod.org:5002/无间盗.[国语中字.1024分辨率]/[电影天堂www.dy2018.net]无间盗HD国语中字.mkv
教父
ftp://ygdy8:ygdy8@yg45.dydytt.net:5058/阳光电影www.ygdy8.com.黑人音乐教父.BD.720p.中英双字幕.mkv
燃情岁月
ftp://dygod1:dygod1@d085.dygod.org:1022/燃情岁月.[中英双字.1024分辨率]/[电影天堂www.dy2018.com]燃情岁月BD中英双字.rmvb
PS D:\pythontest>

 

 

D:\\pythontest\\douban_movie_list.xlsx

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

原文:https://www.cnblogs.com/zxzxq/p/12043990.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!