使用Python手刃電影天堂裡面的電影下載資源
鑒於昨天寫了一個沒X用的豆瓣top250爬取資源之後,有朋友說沒有下載資源;於是乎我大清早又開始學習Python了。這次來練手的是電影天堂(好啦,實際上是盜版)中的電影資源,是最近更新的幾部電影,獲取名字 + 迅雷下載地址
電影鏈接在代碼裡面有
期間在編寫Regular Expression的途中由於自己的一個小失誤,導致拿不到數據,折騰了半天,好難過,本來10點就可以發帖的
把print注釋放開,就能查看每一步的結果
所獲取到的資源都是可下載的
# first find the position
# second find the resource address
# third get the download address
import re
import requests
# 定義好需要練手的網站
url = "https://www.dydytt.net/index.htm"
# 取消驗證 verify = False
resp = requests.get(url, verify=False)
# 由於網站編碼和本地不一樣,要設置encoding
resp.encoding = "gb2312"
# print(resp.text)
# get the li in ul
# obj1、2和3都是正則
obj1 = re.compile(r'<div class="co_content2">.*?<ul>(?P<ul>.*?)</ul>', re.S)
# get subpage address
obj2 = re.compile(r"<a href='/html/gndy/dyzz/2021(?P<href>.*?)'", re.S)
obj3 = re.compile(r'◎片 名(?P<name>.*?)<br />.*?<a target="_blank" href="(?P<download>.*?)">', re.S)
# 拿到打開URL之後進過re正則表達式過濾後的頁面
res1 = obj1.finditer(resp.text)
# 定義好一個列表,方便後續直接遍歷子頁面 以獲得想要的下載地址
sub_list = []
for r in res1:
ul = r.group('ul')
# print(ul)
# 拿到想要的標籤之後,放進obj2正則裡面過濾,得到其想要的下一步數據,就是href跳轉的標籤,我們後續要拼接起來
res2 = obj2.finditer(ul)
for r2 in res2:
# print(r2.group("href"))
# 拼接之後 放入列表裡面
'''
這裡有一個問題需要注意
/html/gndy/jddy/20160320/50523.html
這個頁面左邊“最新電影更新:”第一個鏈接是這個,2016開頭的,所以我們需要過濾它,我選擇最簡單的辦法,直接拿2021最新電影
'''
child_href = "https://www.dydytt.net/html/gndy/dyzz/2021" + r2.group("href").strip("/")
# print(child_href)
sub_list.append(child_href)
# 遍歷子頁面,拿到子頁面的電影名字和下載地址
for href in sub_list:
# 遍歷拼接的子頁面,也就是單獨一個電影的頁面
child_resp = requests.get(href, verify=False)
child_resp.encoding = "gb2312"
# print(href)
# print("------------------------------")
# print(child_resp.text)
# 再次過濾一遍,拿到電影名字和下載地址
res3 = obj3.search(child_resp.text)
print(res3.group("name") + " 下載鏈接是: " + res3.group("download") + "\n")
# print(res3.group("download"))
在新标签打开所有链接复制所有链接URL复制所有链接URL(反向)复制所有链接标题 + URL复制所有链接标题 + URL (MD)复制所有链接标题 + URL (BBS)复制所有链接标题 + URL (筛选)复制所有链接标题 + URL (设置复制格式)在新标签页打开所有图片链接在一个标签页显示所有图片链接
复选框 - 选中
复选框 - 取消
复选框 - 反选
单选框 - 选中
单选框 - 取消
特殊单选框 - 选中 代码核心就是regex,
可以尝试解析响应数据,利用bs4,xpath提取标签生成通用规则,
kk159 发表于 2021-5-30 12:51
代码核心就是regex,
可以尝试解析响应数据,利用bs4,xpath提取标签生成通用规则,
確實是這樣,剛剛好學到這裡,我是一步一步學上去的 第一时间点个赞! 人生苦短 优秀———— {:301_987:} 感谢楼主分享 报错11111 yahao360 发表于 2021-5-30 13:24
报错11111
這是正常的 這個要添加證書我略過了。我這邊也提示這樣 学习了,人生苦短我用python 可以可以。。
页:
[1]
2