python爬虫——三步爬得电影天堂电影下载链接,30多行代码即可搞定:

python爬虫——三步爬得电影天堂电影下载链接,30多行代码即可搞定:

 python爬虫——三步爬得电影天堂电影下载链接,30多行代码即可搞定:

本次我们选择的爬虫对象是:https://www.dy2018.com/index.html             

具体的三个步骤:1.定位到2020必看片   2.从2020必看片中提取到子页面地址   3.进去子页面,拿到迅雷下载链接

话不多说,上代码:

import requests
import re


#s1,定位到2020必看片
domain="https://www.dy2018.com"
resp=requests.get(domain,verify=False)#去掉安全验证
resp.encoding='gb2312'#一般网站会告诉你他编码格式,也可以写gbk,如果没有这一句则可能出现乱码
page=resp.text#用page表达一下,方便理解

#三次正则表达式都放到一起写了,也可以写到后面
obj1 = re.compile(r"2020必看热片.*?<ul>(?P<ul>.*?)<ul>",re.S)
obj2 = re.compile(r"<a href='(?P<href>.*?)'",re.S)
obj3 = re.compile(r'◎片  名 (?P<moviename>.*?)<br />.*?<td '
                  r'style="WORD-WRAP: break-word" bgcolor="#fdfddf"><a href="(?P<dizhi>.*?)"',re.S)
result1=obj1.finditer(page)
for it in result1:#其实只有一个地方能匹配,所以用search也行,不必循环
    ul=it.group("ul")#缩小区间,就算是定位到必看片系列了
    #print(ul)



# s2,从2020必看片中提取到子页面地址
result2=obj2.finditer(ul)#使用缩小后的区间,正则表达式找到子页面链接
child_href_list=[]#准备一个字典存所有子页面
for itt in result2:#拼接子页面的url地址,域名+子页面地址,有的需要拼接有的不需要
    child_href=domain+itt.group("href")#如果有需要可以用.strip("/")把/去掉
    child_href_list.append(child_href)#把子页面链接放到列表里
#print(child_href_list)#,循环往字典添加子页面网站之后可以打印一下看看网址对不对



#s3,进去子页面,拿到迅雷下载链接
for href in child_href_list:
    child_resp=requests.get(href,verify=False)#循环进入子页面并去掉安全验证
    child_resp.encoding = 'gb2312'  #修改编码格式
    page2=child_resp.text           #用page2表示
    result3=obj3.search(page2)      #也是只有一处能匹配,所以search
    print(result3.group("moviename"))
    print(result3.group("dizhi"))

部分结果代码:

疯狂原始人2
magnet:?xt=urn:btih:53735832ac86bf81d0d6ded5ec8476e3181cb36f&dn=[电影天堂www.dytt89.com]疯狂原始人2-2020_BD国英双语中英双字.mp4&tr=http://t.t789.me:2710/announce&tr=http://t.t789.co:2710/announce&tr=http://t.t789.vip:2710/announce
C:\pythonProject2\venv\lib\site-packages\urllib3\connectionpool.py:1013

拆弹专家2
magnet:?xt=urn:btih:1c5596857e6fa9937ba777485d74c9166c4d334d&dn=[电影天堂www.dytt89.com]拆弹专家2-2020_HD国语中字.mp4&tr=http://t.t789.me:2710/announce&tr=http://t.t789.co:2710/announce&tr=http://t.t789.vip:2710/announce
C:\pythonProject2\venv\lib\site-packages\urllib3\connectionpool.py:1013

 

存在问题:

由于我是小白刚刚上手,所以存在一个问题不知怎么解决:

最后一部电影的正则表达式与前面的不同,不知道这个网页怎么搞的,造成的影响就是原本标记结束的位置无法结束,导致多爬出了一些其他内容。

虽然也包含下载链接,但是不方便阅读,如果有大佬可以帮忙解决一下就好啦!

具体情况:

龙牌之谜</p>
<p>◎年  代 2019</p>
<p>◎产  地 */俄罗斯</p>
<p>◎类  别 动作/奇幻/冒险</p>
<p>◎语  言 俄语/英语/汉语普通话</p>
<p>◎字  幕 中文字幕</p>
<p>◎上映日期 2019-08-16(*)</p>
<p>◎豆瓣评分 3.7/10 from 2659 users</p>
<p>◎IMDb评分 4.8/10 from 133 users</p>
<p>◎文件格式 x264 + ACC</p>
<p>◎视频尺寸 1280 x 720</p>
<p>◎文件大小 1476 MB</p>
<p>◎片  长 120 Mins</p>
<p>◎导  演 伊哥&middot;斯坦普陈科 Oleg Stepchenko</p>
<p>◎主  演 成龙 *</p>
<p>      阿诺&middot;施瓦辛格 Arnold Schwarzenegger</p>
<p>      杰森&middot;弗莱明 Jason Flemyng</p>
<p>      姚星彤 Xingtong Yao</p>
<p>      马丽 Li Ma</p>
<p>      李�� Yu Li</p>
<p>      刘智福 Lance Luu</p>
<p>      刘智堂 Charles Luu</p>
<p>      刘智满 Mark Luu</p>
<p>      李萌萌 Mengmeng Li</p>
<p>      安娜&middot;邱丽娜 Anna Churina</p>
<p>      尤里&middot;科洛科利尼科夫 Yuri Kolokolnikov</p>
<p>      巴维尔&middot;沃利亚 Pavel Volya</p>
<p>      克里斯托弗&middot;法里班克 Christopher Fairbank</p>
<p>      马丁&middot;科勒巴 Martin Klebba</p>
<p>      查尔斯&middot;丹斯 Charles Dance</p>
<p>      鲁特格尔&middot;哈尔 Rutger Hauer</p>
<p>      巴雷特&middot;科茨 Barret Coates</p>
<p>      伊戈尔&middot;日日金 Igor Jijikin</p>
<p>      娜露潘格慕&middot;柴辛 Narupornkamol Chaisang</p>
<p>      安德烈&middot;梅尔兹利金 Andrey Merzlikin</p>
<p>      维伦&middot;巴比切夫 Vilen Babichev</p>
<p>      ��楠塔茬&middot;塔纳潘披散 Sananthachat Thanapatpisal</p>
<p>      Peter Rafelson</p>
<p>      尼基塔&middot;塔拉索夫 Nikita Tarasov</p>
<p>      阿列克谢&middot;彼得鲁欣 Alexey A. Petrukhin</p>
<p>      葵咪莎拉&middot;普碟 Kemisara Paladesh</p>
<p>      安东尼&middot;加瓦德 Anthony Gavard</p>
<p>      马蒂厄&middot;雅克 Mathieu Jaquet</p>
<p>      莱安德罗&middot;梅厄&middot;马丁内斯 Leandro Mayor Martinez</p>
<p>◎简  介</p>
<p>  电影《龙牌之谜》讲述了古老的东方传说&mdash;&mdash;龙王在睡觉的时候睫毛长到地里能够长出茶叶。龙王把法力封印在龙牌里,并把这种力量赋予了替他照料睫毛的白魔法大师(成龙饰)和他的女儿成兰(姚星彤饰)。邪恶的黑魔法师将白魔法大师和成兰关进了异国*,龙王也陷入了沉睡,以茶叶为生的广大村民从此生活在水深火热之中&hellip;&hellip;</p>
<p>◎影片截图
magnet:?xt=urn:btih:a07a71aa3ab251c669ec02cd49bffc1edf90d72f&dn=[电影天堂www.dytt89.com]龙牌之谜BD国英双语中英双字.mp4&tr=http://t.t789.me:2710/announce&tr=http://t.t789.co:2710/announce&tr=http://t.t789.vip:2710/announce

 

 

 

上一篇:接口测试平台代码实现13:注册功能


下一篇:js下载file文件