2017情圣电影迅雷下载:情圣2017高清百度云,谢谢
电影情圣高清资源已出, http://pan.baidu.com/s/1mihqwuW 及时保存。2017情圣电影迅雷下载:2017电影情圣是什么意思
情圣 (2016) 导演: 宋晓飞 / 董旭 编剧: 李潇 / 于淼 主演: 肖央 / 闫妮 / 小沈阳 / 乔杉 / 艾伦 / 代乐乐/ 常远 / 李成敏 / 车晓 / 田雨 类型: 喜剧 制片国家/地区: 中国大陆 语言: 汉语普通话 上映日期: 2016-12-30(中国大陆) 片长: 113分钟 又名: Some Like It Hot2017情圣电影迅雷下载:2017电影《情圣》里的经典台词
刚结婚的时候是天天抱着一起睡,不知道什么时候就各睡各的了。。。2017情圣电影迅雷下载:有人叫我投资影视是不是骗局
影视投资不是骗局,但是要投对,不容易。---为什么不是骗局?影视投资是电影的发行方,把部分收益权转让出来,分担风险和快速回笼资金的一种做法,2014年国家已经有法规鼓励和允许这种做法,所以靠谱合法是绝对的,不用担心。只是很多公司根本不具备影视投资的经营权限,利用这个新的风口来非法集资,骗取群众钱财,所以要投对,是不容易的。(如果要投,请大家认准第一出品公司签订合同)2017情圣电影迅雷下载:情圣小说楚雅txt下载
李晨星传 作者: 温茶 简介: 李晨星,其人不闻达于诸侯之中,也没有绝世大功可青史留名,却修行有成,游走天下,教化世人,斩奸除恶,名声传于平民百姓之间。2017情圣电影迅雷下载:求情圣小说
书名:《情圣》橘子文学公众号,回复书名就可以光看了。 主角:赵然、楚雅 作品节选:她叫楚雅,很好听的名字,听说还是个公司的经理,我实在是想不通,这么漂亮,这么优秀的女人,干嘛结婚要找个傻子结婚?整个过程我是懵逼的,她全程没有跟我说话,只是清冷的打量了我几眼,就跟我二舅打了一声招呼走了,看她的眼神,应该没看上我。为了这事,我牺牲了自己的脑袋,剔了个光头,现在搞成这个样子,以这个形象还怎么去打工?我心想:完了,这不是赔了夫人又折兵嘛?2017情圣电影迅雷下载:情圣 2017高清的出了吗?
还没吧,反正我是没有见过2017情圣电影迅雷下载:苹果手机用不了迅雷,如何从电影网站上下载电影呢?
ios目前只有指尖浏览器可以下载播放的视频了!不然就下迅雷
2017情圣电影迅雷下载:为什么苹果手机不能下载迅雷?
苹果手机的App Store里面原来是有迅雷的,后来因为大部分用户都用来下载一些小电影。之后就在App Store上删除了。现在苹果用户想要下载迅雷是可以在某宝上买到下载地址滴。2017情圣电影迅雷下载:Python3.x+迅雷x 自动下载小电影,该冲的时候还是得冲!
话说以前玩Python的时候爬过挺多网站的,都是在公司干的(Python不属于公司的业务范围,纯属自己折腾着好玩),python开发等相关IT技术群:点击此处提供资料,部分相关源码
我那个负责运维的同事天天跑过来说:你又在爬啥啊,你去看看新闻,某某爬东西又被抓了!出了事你自己负责啊!哎呀我的娘亲,吓的都没继续玩下去了。这个博客是爬取某天堂的资源(具体是哪个天堂下面的代码里会有的),会不会被抓啊?单纯的作为技术讨论,个人练手,不做商业用途应该没事吧?写到这里小手不禁微微颤抖...
得嘞,死就死吧,我不入地狱谁入地狱,先看最终实现效果:
如上,这个下载工具是有界面的(牛皮吧),只要输入一个根地址和电影评分,就可以自动爬电影了,要完成这个工具需要具备以下知识点:
差不多就这些了,至于实现的技术细节的话,也不多,requests+BeautifulSoup的使用,re正则,Python数据类型,Python线程,dbm、pickle等数据持久化库的使用,等等,这个工具也就这么些知识范畴了。当然,Python是面向对象的,编程思想是所有语言通用的,这个不是一朝一夕的事,也没办法通过语言描述清楚。各位对号入座,以上哪个知识面不足的自己去翻资料学习,我可是直接贴代码的。
import url_managernimport html_parsernimport html_downloadnimport persist_utilnfrom tkinter import *nfrom threading import Threadnimport osn nclass SpiderMain(object):n def __init__(self):n self.mUrlManager = url_manager.UrlManager()n self.mHtmlParser = html_parser.HtmlParser()n self.mHtmlDownload = html_download.HtmlDownload()n self.mPersist = persist_util.PersistUtil()n n # 加载历史下载链接n def load_history(self):n history_download_links = self.mPersist.load_history_links()n if history_download_links is not None and len(history_download_links) > 0:n for download_link in history_download_links:n self.mUrlManager.add_download_url(download_link)n d_log("加载历史下载链接: " + download_link)n n # 保存历史下载链接n def save_history(self):n history_download_links = self.mUrlManager.get_download_url()n if history_download_links is not None and len(history_download_links) > 0:n self.mPersist.save_history_links(history_download_links)n n def craw_movie_links(self, root_url, score=8):n count = 0;n self.mUrlManager.add_url(root_url)n while self.mUrlManager.has_continue():n try:n count = count + 1n url = self.mUrlManager.get_url()n d_log("craw %d : %s" % (count, url))n headers = {n 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36',n 'Referer': urln }n content = self.mHtmlDownload.down_html(url, retry_count=3, headers=headers)n if content is not None:n doc = content.decode('gb2312', 'ignore')n movie_urls, next_link = self.mHtmlParser.parser_movie_link(doc)n if movie_urls is not None and len(movie_urls) > 0:n for movie_url in movie_urls:n d_log('movie info url: ' + movie_url)n content = self.mHtmlDownload.down_html(movie_url, retry_count=3, headers=headers)n if content is not None:n doc = content.decode('gb2312', 'ignore')n movie_name, movie_score, movie_xunlei_links = self.mHtmlParser.parser_movie_info(doc, score=score)n if movie_xunlei_links is not None and len(movie_xunlei_links) > 0:n for xunlei_link in movie_xunlei_links:n # 判断该电影是否已经下载过了n is_download = self.mUrlManager.has_download(xunlei_link)n if is_download == False:n # 没下载过的电影添加到迅雷下载列表n d_log('开始下载 ' + movie_name + ', 链接地址: ' + xunlei_link)n self.mUrlManager.add_download_url(xunlei_link)n os.system(r'"D:迅雷ThunderProgramThunder.exe" {url}'.format(url=xunlei_link))n # 每下载一部电影都实时更新数据库,这样可以保证即使程序异常退出也不会重复下载该电影n self.save_history()n if next_link is not None:n d_log('next link: ' + next_link)n self.mUrlManager.add_url(next_link)n except Exception as e:n d_log('错误信息: ' + str(e))n n ndef runner(rootLink=None, scoreLimit=None):n if rootLink is None:n returnn spider = SpiderMain()n spider.load_history()n if scoreLimit is None:n spider.craw_movie_links(rootLink)n else:n spider.craw_movie_links(rootLink, score=float(scoreLimit))n spider.save_history()n n# rootLink = 'https://www.dytt8.net/html/gndy/dyzz/index.html'n# rootLink = 'https://www.dytt8.net/html/gndy/dyzz/list_23_207.html'ndef start(rootLink, scoreLimit):n loop_thread = Thread(target=runner, args=(rootLink, scoreLimit,), name='LOOP THREAD')n #loop_thread.setDaemon(True)n loop_thread.start()n #loop_thread.join() # 不能让主线程等待,否则GUI界面将卡死n btn_start.configure(state='disable')n n# 刷新GUI界面,文字滚动效果ndef d_log(log):n s = log + 'n'n txt.insert(END, s)n txt.see(END)n nif __name__ == "__main__":n rootGUI = Tk()n rootGUI.title('XX电影自动下载工具')n # 设置窗体背景颜色n black_background = '#000000'n rootGUI.configure(background=black_background)n # 获取屏幕宽度和高度n screen_w, screen_h = rootGUI.maxsize()n # 居中显示窗体n window_x = (screen_w - 640) / 2n window_y = (screen_h - 480) / 2n window_xy = '640x480+%d+%d' % (window_x, window_y)n rootGUI.geometry(window_xy)n n lable_link = Label(rootGUI, text='解析根地址: ',n bg='black',n fg='red', n font=('宋体', 12), n relief=FLAT)n lable_link.place(x=20, y=20)n n lable_link_width = lable_link.winfo_reqwidth()n lable_link_height = lable_link.winfo_reqheight()n n input_link = Entry(rootGUI)n input_link.place(x=20+lable_link_width, y=20, relwidth=0.5)n n lable_score = Label(rootGUI, text='电影评分限制: ', n bg='black', n fg='red', n font=('宋体', 12), n relief=FLAT)n lable_score.place(x=20, y=20+lable_link_height+10)n n input_score = Entry(rootGUI)n input_score.place(x=20+lable_link_width, y=20+lable_link_height+10, relwidth=0.3)n n btn_start = Button(rootGUI, text='开始下载', command=lambda: start(input_link.get(), input_score.get()))n btn_start.place(relx=0.4, rely=0.2, relwidth=0.1, relheight=0.1)n n txt = Text(rootGUI)n txt.place(rely=0.4, relwidth=1, relheight=0.5)n n rootGUI.mainloop()
spider_main.py,主代码入口,主要是tkinter 实现的一个简陋的界面,可以输入根地址,电影最低评分。所谓的根地址就是某天堂网站的一类电影的入口,比如进入首页有如下的分类,最新电影、日韩电影、欧美影片、2019精品专区,等等。这里以2019精品专区为例(https://www.dytt8.net/html/gndy/dyzz/index.html),当然,用其它的分类地址入口也是可以的。评分就是个过滤电影的条件,要学会对垃圾电影说不,浪费时间浪费表情,你可以指定大于等于8分的电影才下载,也可以指定大于等于9分等,必须输入数字哈,输入些乱七八糟的东西进去程序会崩溃,这个细节我懒得处理。
'''nURL链接管理类,负责管理爬取下来的电影链接地址,包括新解析出来的链接地址,和已经下载过的链接地址,保证相同的链接地址只会下载一次n'''nclass UrlManager(object):n def __init__(self):n self.urls = set()n self.used_urls = set()n self.download_urls = set()n n def add_url(self, url):n if url is None:n returnn if url not in self.urls and url not in self.used_urls:n self.urls.add(url)n n def add_urls(self, urls):n if urls is None or len(urls) == 0:n returnn for url in urls:n self.add_url(url)n n def has_continue(self):n return len(self.urls) > 0n n def get_url(self):n url = self.urls.pop()n self.used_urls.add(url)n return urln n def get_download_url(self):n return self.download_urlsn n def has_download(self, url):n return url in self.download_urlsn n def add_download_url(self, url):n if url is None:n returnn if url not in self.download_urls:n self.download_urls.add(url)
url_manager.py,注释里写的很清楚了,基本上每个py文件的关键地方我都写了比较详细的注释
import requestsnfrom requests import Timeoutn n'''nHtmlDownload,通过一个链接地址将该html页面整体down下来,然后通过html_parser.py解析其中有价值的信息n'''nclass HtmlDownload(object):n def __init__(self):n self.request_session = requests.session()n self.request_session.proxiesn n def down_html(self, url, retry_count=3, headers=None, proxies=None, data=None):n if headers:n self.request_session.headers.update(headers)n try:n if data:n content = self.request_session.post(url, data=data, proxies=proxies)n print('result code: ' + str(content.status_code) + ', link: ' + url)n if content.status_code == 200:n return content.contentn else:n content = self.request_session.get(url, proxies=proxies)n print('result code: ' + str(content.status_code) + ', link: ' + url)n if content.status_code == 200:n return content.contentn except (ConnectionError, Timeout) as e:n print('HtmlDownload ConnectionError or Timeout: ' + str(e))n if retry_count > 0:n self.down_html(url, retry_count-1, headers, proxies, data)n return Nonen except Exception as e:n print('HtmlDownload Exception: ' + str(e))
html_download.py,就是用requests将静态网页的内容整体down下来
from bs4 import BeautifulSoupnfrom urllib.parse import urljoinnimport renimport urllib.parsenimport base64n n'''nhtml页面解析器n'''nclass HtmlParser(object):n # 解析电影列表页面,获取电影详情页面的链接n def parser_movie_link(self, content):n try:n urls = set()n next_link = Nonen doc = BeautifulSoup(content, 'lxml')n div_content = doc.find('div', class_='co_content8')n if div_content is not None:n tables = div_content.find_all('table')n if tables is not None and len(tables) > 0:n for table in tables:n link = table.find('a', class_='ulink')n if link is not None:n print('movie name: ' + link.text)n movie_link = urljoin('https://www.dytt8.net', link.get('href'))n print('movie link ' + movie_link)n urls.add(movie_link)n next = div_content.find('a', text=re.compile(r".*?下一页.*?"))n if next is not None:n next_link = urljoin('https://www.dytt8.net/html/gndy/dyzz/', next.get('href'))n print('movie next link ' + next_link)n n return urls, next_linkn except Exception as e:n print('解析电影链接地址发生错误: ' + str(e))n n # 解析电影详情页面,获取电影详细信息n def parser_movie_info(self, content, score=8):n try:n movie_name = None # 电影名称n movie_score = 0 # 电影评分n movie_xunlei_links = set() # 电影的迅雷下载地址,可能存在多个n doc = BeautifulSoup(content, 'lxml')n movie_name = doc.find('title').text.replace('迅雷下载_电影天堂', '')n #print(movie_name)n div_zoom = doc.find('div', id='Zoom')n if div_zoom is not None:n # 获取电影评分n span_txt = div_zoom.textn txt_list = span_txt.split('◎')n if txt_list is not None and len(txt_list) > 0:n for tl in txt_list:n if 'IMDB' in tl or 'IMDb' in tl or 'imdb' in tl or 'IMdb' in tl:n txt_score = tl.split('/')[0]n print(txt_score)n movie_score = re.findall(r"d+.?d*", txt_score)n if movie_score is None or len(movie_score) <= 0:n movie_score = 1n else:n movie_score = movie_score[0]n print(movie_name + ' IMDB影片分数: ' + str(movie_score))n if float(movie_score) < score:n print('电影评分低于' + str(score) + ', 忽略')n return movie_name, movie_score, movie_xunlei_linksn txt_a = div_zoom.find_all('a', href=re.compile(r".*?ftp:.*?"))n if txt_a is not None:n # 获取电影迅雷下载地址,base64转成迅雷格式n for alink in txt_a:n xunlei_link = alink.get('href')n '''n 这里将电影链接转换成迅雷的专用下载链接,后来发现不转换迅雷也能识别n xunlei_link = urllib.parse.quote(xunlei_link)n xunlei_link = xunlei_link.replace('%3A', ':')n xunlei_link = xunlei_link.replace('%40', '@')n xunlei_link = xunlei_link.replace('%5B', '[')n xunlei_link = xunlei_link.replace('%5D', ']')n xunlei_link = 'AA' + xunlei_link + 'ZZ'n xunlei_link = base64.b64encode(xunlei_link.encode('gbk'))n xunlei_link = 'thunder://' + str(xunlei_link, encoding='gbk')n '''n print(xunlei_link)n movie_xunlei_links.add(xunlei_link)n return movie_name, movie_score, movie_xunlei_linksn except Exception as e:n print('解析电影详情页面错误: ' + str(e))
html_parser.py,用bs4解析down下来的html页面内容,根据网页规则过去我们需要的东西,这是爬虫最重要的地方,写爬虫的目的就是想要取出对我们有用的东西。
import dbmnimport picklenimport osn n'''n数据持久化工具类n'''nclass PersistUtil(object):n def save_data(self, name='No Name', urls=None):n if urls is None or len(urls) <= 0:n returnn try:n history_db = dbm.open('downloader_history', 'c')n history_db[name] = str(urls)n finally:n history_db.close()n n def get_data(self):n history_links = set()n try:n history_db = dbm.open('downloader_history', 'r')n for key in history_db.keys():n history_links.add(str(history_db[key], 'gbk'))n except Exception as e:n print('遍历dbm数据失败: ' + str(e))n return history_linksn n # 使用pickle保存历史下载记录n def save_history_links(self, urls):n if urls is None or len(urls) <= 0:n returnn with open('DownloaderHistory', 'wb') as pickle_file:n pickle.dump(urls, pickle_file)n n # 获取保存在pickle中的历史下载记录n def load_history_links(self):n if os.path.exists('DownloaderHistory'):n with open('DownloaderHistory', 'rb') as pickle_file:n return pickle.load(pickle_file)n else:n return None
persist_util.py,数据持久化工具类。
这样代码部分就完成了,说下迅雷,我安装的是最新版的迅雷X,一定要如下图一样在迅雷设置打开一键下载功能,否则每次新增一个下载任务都会弹出用户确认框的,还有就是调用迅雷下载资源的代码:os.system(r'"D:迅雷ThunderProgramThunder.exe" {url}'.format(url=xunlei_link)),一定要去到迅雷安装目录找到Thunder.exe文件,不能用快捷方式的地址(我的电脑->迅雷->右键属性->目标,迅雷X这里显示的路径是快捷方式的路径,不能用这个),否则找不到程序。
到这里你应该就可以电影爬起来了,妥妥的。当然,你想要优化也可以,程序有很多可以优化的地方,比如线程那一块,比如数据持久化那里..... 初学者可以通过这个练手,然后自己去分析分析静态网站的规则,把解析html那一块的代码改改就可以爬其它的网站了,比如那些有着危险动作的电影... 不过这类电影还是少看为妙,要多读书,偶尔看了也要擦擦干净,洗洗干净,要讲卫生。
Revit2017下载Revit2017安装详细教程
九一八事变有关电视剧:关于918事变的电影有哪些关于918事变的电影有《松花江上》、《抵抗!抵抗!》、《大劫难》、《铁血江桥》、《东北抗联》、《中国地》等。《松花江上》剧...
2 「为了你全世界扮演者」《为了你》中重佳悠的扮演者是谁?为了你全世界扮演者:《为了你》中重佳悠的扮演者是谁?《为了你》中重佳悠的扮演者是谢宇朦。谢宇朦,中国内地女演员,毕业于中央戏剧学院表演系,汉族,1990年5月5日出生于山东,双子座...
3 「2017郑容和电视剧」到2017年郑容和一共上了几期快乐大本营,都是哪些?2017郑容和电视剧:到2017年郑容和一共上了几期快乐大本营,都是哪些?到2017年郑容和一共上了3次快乐大本营,2015-07-18期,嘉宾:郑容和、林俊杰、吴磊、杨洋、白敬亭;2015-09-12期,嘉...
4 「克拉恋人演员表小雷奕明」电视剧克拉恋人中雷奕明最后和谁在一起了克拉恋人演员表小雷奕明:电视剧克拉恋人中雷奕明最后和谁在一起了电视剧《克拉恋人》中雷奕明(罗晋饰)最后和米朵(唐嫣饰)在一起了。具体剧情介绍:雷奕明听到沈东军转述的米朵的这...
5 「了不起的盖茨比尼克扮演者」了不起的盖茨比尼克的人物分析了不起的盖茨比尼克扮演者:了不起的盖茨比尼克的人物分析原发布者:龙源期刊网 摘要:弗朗西斯·斯科特·基·菲茨杰拉德(FrancisScottKeyFitzgerald)是美国20世纪杰出的小说家,192...
6 「上海滩之生死较量验演员表」上海滩之生死较量的幕后花絮上海滩之生死较量验演员表:上海滩之生死较量的幕后花絮1、于震和胡可曾在《我们的快乐人生》中合作,再度联手,胡可直言是“冲着于震来的”,原因就是之前合作时现场气氛特别轻松,...
7 「三国演义夏侯渊扮演者」三国演义里面把夏侯渊黑惨了三国演义夏侯渊扮演者:三国演义里面把夏侯渊黑惨了还行,主要是夏侯渊他自己犯的错本身就太过分了...夏侯渊正史是夏侯家第一大将,夏侯惇正史里比较偏文,更接近监军大将或宗族长...
8 「全球男演员富豪榜」2015福布斯全球男演员富豪榜的富豪排名全球男演员富豪榜:2015福布斯全球男演员富豪榜的富豪排名1.小罗伯特·唐尼、收入:8000万美元得益于《复仇者联盟2:奥创纪元》与《美国队长3:内战》,唐尼依然在这份榜单上高居榜首...
9 「1970年的中国演员表」简爱1970年版演员表1970年的中国演员表:简爱1970年版演员表米娅·华...饰 简·爱迈克尔·...饰 罗切斯特朱迪·丹奇饰 费尔法...杰米·贝尔饰 约翰·...霍利·格...饰 戴安娜1970年的中国演员表...
10 「八仙过海老版演员表」八仙过海老版演员名单八仙过海老版演员表:八仙过海老版演员名单1、吴岱融饰演铁拐李八仙之一,汉钟离一起被天庭派来寻找其余的八仙。原本双腿健全,但被花龙打伤,法器也是一根拐杖。性格比汉钟离要理...
二凤扮演者:庄稼院里的年轻''人二凤的扮演者剧名:《庄稼院里的年轻人》角色:二凤演员:姜昕言简介:开垦出一片农村改革处女地的女青年中文名:姜昕言本 名:姜建慧国 籍...
2 「公益电影《娜娜》 心得体会」电影《娜娜》观后感800字公益电影《娜娜》 心得体会:电影《娜娜》观后感800字小松奈奈(宫崎葵 饰)前往东京,希望能与男友多点见面。在火车上,她刚好坐在新晋摇滚主音大崎娜娜(中岛美嘉 饰)身旁。二人于...
3 「产科医生十八集电视剧」电视剧产科医生,共有几集?产科医生十八集电视剧:电视剧产科医生,共有几集?电视剧产科医生,共有42集。产科医生十八集电视剧:产科医生电视剧全集在哪里能看到?http://40C0.qushubi.cn#BDD9 资源帮你找到了。...
4 「倪志仁的扮演者的照片」谁是真英雄倪志仁被打成太监是那集倪志仁的扮演者的照片:谁是真英雄倪志仁被打成太监是那集电视剧《谁是真英雄》是中国首部描述小人物保家卫国的另类抗战大戏,由北京新媒诚品文化传播有限公司投拍。该剧以市井...
5 「11年的民国电视剧」求2011年左右的一部民国电视剧名,大致剧情如下11年的民国电视剧:求2011年左右的一部民国电视剧名,大致剧情如下应该你 说的是《星火》。是由刘毅然执导,江一燕、林熙越、梁冠华、迟佳主演的革命剧,于2007年1月在中央电视台综...
6 「仨妈俩爸 电视剧在哪个台播放」我的仨妈俩爸电视剧全集在什么时候播出?仨妈俩爸 电视剧在哪个台播放:我的仨妈俩爸电视剧全集在什么时候播出?《我的仨妈俩爸》是由笛女影视传媒有限公司出品,讲诉了上个世纪七十年代末,正值文化大革命结束之时。知青...
7 「1975年的女演员」1975年出生的女明星有哪些1975年的女演员:1975年出生的女明星有哪些徐若瑄 汤灿 佘诗曼 李玟 胡可 蒋勤勤 金巧巧 刘丹1975年的女演员:75年出生的明星1,徐若瑄徐若瑄(Vivian Hsu、ビビアンスー),本名...
8 「八时入席粤语版电视剧」粤语版“八时入席”百度云八时入席粤语版电视剧:粤语版“八时入席”百度云刚刚发送到你的百度云,注意查收希望我的回答帮助到你八时入席粤语版电视剧:爱回家八时入席全集,谁有请发百度云。。。先谢了提问...
9 「2016年所有上映的电视剧有哪些」2016年上映的电影电视剧有哪些2016年所有上映的电视剧有哪些:2016年上映的电影电视剧有哪些2016年待播电视剧:《青云志》《幻城》《微微一笑很倾城》《欢乐颂》《一念向北》《奇妙的时光之旅》《亲爱的翻译...
10 「与狼共舞电视剧在线播放」与狼共舞电视剧哪里可以看到全集??与狼共舞电视剧在线播放:与狼共舞电视剧哪里可以看到全集??请问是我是特种兵系列的吗?百度影音有与狼共舞电视剧在线播放:谁有电视剧《我是特种兵之与狼共舞》全集播放的地址或下...
关于娱乐八卦 | 联系方式 | 发展历程 | 娱乐八卦帮助 | 广告联系 | 网站地图
备案号:粤ICP备8888888号-2