简单爬虫案例
电影天堂是国内较大的电影在线观看和下载平台。主要有迅雷下载和快车下载和电驴以及手机视频格式下载。数据已经达到超出100多万部资源,千万小时时长。还能提供在线观看和下载最新的国内外电影和连续剧的服务。电影天堂提供其他剧情电影,大多都是都是高清电影,保持每天海量数据的更新。
1. html代码分析
2. 正则分析
<a href=\"(.*)\" class=\"ulink\">(.*)</a>
\"><a href=\"(.*)\">(.*?)</a></td>
3. 实现效果
4. 代码实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 | import re
import urllib.request
from pymysql import *
def get_movie_link():
"""获取电影下载链接"""
url = 'http://www.dytt8.net/html/gndy/rihan/list_6_2.html'
# 获取网页下载页面
file = urllib.request.urlopen(url)
# 读取全部
file_content = file.read()
# 获取下载页面的链接
link_list = re.findall(r'<a href="(.*)" class="ulink">(.*)</a>', file_content.decode("GBK"))
# 定义字典保存电影连接
film_link = {}
for num,i in enumerate(link_list):
# 访问下载页面 i[0]为下载页面的链接 i[1]为电影名
file = urllib.request.urlopen("http://www.dytt8.net" + i[0])
# 获取下载页面html
data = file.read()
# 获取下载页面中的电影下载链接 ret为列表 ret[0]为电影下载链接
ret = re.findall(r'.*"><a href="(.*)">', data.decode("GBK"))
# 保存到file_link中
film_link[i[1]] = ret[0]
print("已经加载电影数量%d" % num)
return film_link
if __name__ == '__main__':
# 获取电影下载链接
movie_link = get_movie_link()
for name, link in movie_link.items():
print("电影名字:", name, "下载链接:", link)
|
运行效果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | 已经加载电影数量0
已经加载电影数量1
已经加载电影数量2
已经加载电影数量3
已经加载电影数量4
已经加载电影数量5
已经加载电影数量6
已经加载电影数量7
已经加载电影数量8
已经加载电影数量9
已经加载电影数量10
已经加载电影数量11
已经加载电影数量12
已经加载电影数量13
已经加载电影数量14
已经加载电影数量15
已经加载电影数量16
已经加载电影数量17
已经加载电影数量18
已经加载电影数量19
已经加载电影数量20
已经加载电影数量21
已经加载电影数量22
已经加载电影数量23
已经加载电影数量24
电影名字: 2018年悬疑惊悚《幻视/似曾相識》BD韩语中字 下载链接: ftp://ygdy8:ygdy8@yg90.dydytt.net:8368/阳光电影www.ygdy8.com.幻视.BD.720p.韩语中字.mkv
电影名字: 2018年爱情《伊藤君A到E电影版》BD日语中字 下载链接: ftp://ygdy8:ygdy8@yg90.dydytt.net:8365/阳光电影www.ygdy8.com.伊藤君A到E.BD.720p.日语中字.mkv
电影名字: 2018年剧情悬疑《不能犯》BD日语中字 下载链接: ftp://ygdy8:ygdy8@yg90.dydytt.net:8364/阳光电影www.ygdy8.com.不能犯.BD.720p.日语中字.mkv
电影名字: 2018年喜剧《钱袋/抢钱对决》BD韩语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:8252/阳光电影www.ygdy8.com.钱袋.BD.720p.韩语中字.mkv
电影名字: 2015年动作《女杀手KIRI:血腥复仇》HD日语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:7249/阳光电影www.ygdy8.com.女杀手KIRI:血腥复仇.HD.720p.日语中字.mkv
电影名字: 2018年悬疑《爱上谎言的女人》BD日语中字 下载链接: ftp://ygdy8:ygdy8@yg72.dydytt.net:8250/阳光电影www.ygdy8.com.爱上谎言的女人.BD.720p.日语中字.mkv
电影名字: 2018年喜剧《谎话连篇》BD日语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:8248/阳光电影www.ygdy8.com.谎话连篇.BD.720p.日语中字.mkv
电影名字: 2017年动画《烟花动画版》BD国日双语中字 下载链接: ftp://ygdy8:ygdy8@yg90.dydytt.net:8358/阳光电影www.ygdy8.com.烟花动画版.BD.720p.国日双语中字.mkv
电影名字: 2017年喜剧运动《恋爱回旋》BD国日双语中字 下载链接: ftp://ygdy8:ygdy8@yg72.dydytt.net:8239/阳光电影www.ygdy8.com.恋爱回旋.BD.720p.国日双语中字.mkv
电影名字: 2018年动作《毒战韩国版》BD韩语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:3099/阳光电影www.ygdy8.com.毒战韩国版.BD.720p.韩语中字.mkv
电影名字: 2017年剧情《最后的食谱麒麟之舌的记忆》BD日语中字 下载链接: ftp://ygdy8:ygdy8@yg90.dydytt.net:8345/阳光电影www.ygdy8.com.最后的食谱麒麟之舌的记忆.BD.720p.日语中字.mkv
电影名字: 2016年惊悚喜剧《犯罪女王》HD国语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:7221/阳光电影www.ygdy8.com.犯罪女王.HD.720p.韩语中字.mkv
电影名字: 2017年剧情《薙刀社青春日记》BD日语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:3088/阳光电影www.ygdy8.com.薙刀社青春日记.BD.720p.日语中字.mkv
电影名字: 冒险奇幻动画《地海传说》BD国粤日三语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:7202/阳光电影www.ygdy8.com.地海传说.BD.720p.国粤日三语中字.mkv
电影名字: 2017年喜剧《齐木楠雄的灾难真人版》BD日语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:3083/阳光电影www.ygdy8.com.齐木楠雄的灾难真人版.BD.720p.日语中字.mkv
电影名字: 2017年剧情《最后的踢踏舞》HD日语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:4071/阳光电影www.ygdy8.com.最后的踢踏舞.HD.720p.日语中字.mkv
电影名字: 2017年动作《极恶非道3》BD日语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:3079/阳光电影www.ygdy8.com.极恶非道3.BD.720p.日语中字.mkv
电影名字: 2017年悬疑《她不知道名字的那些鸟儿》BD日语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:7201/阳光电影www.ygdy8.com.她不知道名字的那些鸟儿.BD.720p.日语中字.mkv
电影名字: 2017年剧情《准备》BD韩语中字 下载链接: ftp://ygdy8:ygdy8@yg90.dydytt.net:8329/阳光电影www.ygdy8.com.准备.BD.720p.韩语中字.mkv
电影名字: 2017年喜剧《恋爱回旋》HD国日双语中字 下载链接: ftp://ygdy8:ygdy8@yg72.dydytt.net:8195/阳光电影www.ygdy8.com.恋爱回旋.HD.720p.国日双语中字.mkv
电影名字: 2018年恐怖《昆池岩/鬼病院:灵异直播》BD韩语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:7198/阳光电影www.ygdy8.com.昆池岩.BD.720p.韩语中字.mkv
电影名字: 2017年剧情悬疑《摇曳的心》BD日语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:8197/阳光电影www.ygdy8.com.摇曳的心.BD.720p.日语中字.mkv
电影名字: 2014年古装动作《朝鲜美女三剑客》HD韩语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:7197/阳光电影www.ygdy8.com.朝鲜美女三剑客.HD.720p.韩语中字.mkv
电影名字: 2018年惊悚剧情《钱袋》BD韩语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:7196/阳光电影www.ygdy8.com.钱袋.BD.720p.韩语中字.mkv
电影名字: 2017年惊悚《石造住宅杀人案》HD韩语中字 下载链接: ftp://ygdy8:ygdy8@yg45.dydytt.net:8196/阳光电影www.ygdy8.com.石造住宅杀人案.HD.720p.韩语中字.mkv
Process finished with exit code 0
|
练一练
字符串为:
| <div class="LazyLoad is-visible DyImg DyListCover-pic"><img src="https://rpic.douyucdn.cn/asrpic/190827/7255777_526583_708c5_2_1048.jpg/webpdy1" class="DyImg-content is-normal "></div>
|
请提取url地址
参考答案
| import re
str = """<div class="LazyLoad is-visible DyImg DyListCover-pic"><img src="https://rpic.douyucdn.cn/asrpic/190827/7255777_526583_708c5_2_1048.jpg/webpdy1" class="DyImg-content is-normal "></div>"""
# 匹配多个数字
result = re.search("src=\"(.*?)\"", str)
if result:
print(result.group(1))
else:
print("匹配失败~!")
|
修改为非贪婪模式: