得到电影天堂的最新下载页面下的相关数据 点击打开 ;
存储为 csv 格式的表格文件
使用正则表达式匹配到没有"《》"的情况
请求链接返回页面有误
部分电影详情页面没有评分导致返回错误
三种小错误都是通过条件判断解决
import requests
from lxml import etree
import re
from datetime import datetime
# 创建文件名 时间.csv
datetime.now().strftime('%Y-%m-%d %H:%M:%S')
datetime.now().isoformat()
content = str(datetime.now())
pattern = re.compile(r"[0-9]*") # 正则表达式
result = pattern.findall(content)
file_name = ""
for i in range(0, 12):
file_name = file_name + result[i]
fp = open(f"./文件/{file_name}.csv", mode="w", encoding="GB18030") # GB18030是本地计算机excel的默认编码
data = "序号,电影,评分,磁力链接\n"
fp.write(data)
fp.close()
# 解析网页数据
url = "https://www.dy2018.com/html/gndy/dyzz/index.html"
content = requests.get(url)
content.encoding = content.apparent_encoding # 确定编码
content = content.text
movie_num = 0
if content:
root = etree.HTML(content)
pages = root.xpath("//select/option/@value")
# print(pages)
for page in pages:
new_url = "https://www.dy2018.com" + page
content = requests.get(new_url)
content.encoding = content.apparent_encoding
content = content.text
if content:
fp = open(f"./文件/{file_name}.csv", mode="a", encoding="GB18030")
root = etree.HTML(content)
get_moive = root.xpath("//b/a/@title") # 获取电影简介
for name, url in zip(get_moive, root.xpath("//b/a/@href")):
movie_num += 1
print(name)
score_url = "https://www.dy2018.com" + url # 电影详情页面
score_content = requests.get(score_url)
score_content.encoding = score_content.apparent_encoding
score_content = score_content.text
# print(score_url)
movie_name = ""
score_root = etree.HTML(score_content)
if score_root.xpath("//strong/text()"): # 获取评分
movie_score = score_root.xpath("//strong/text()")
else:
movie_score = [","]
tmp_download_url = score_root.xpath("//td[@bgcolor='#fdfddf']/a/text()") # 获取下载链接
download_url = str(tmp_download_url[0])
if re.compile(r",").findall(download_url):
download_url = '"' + download_url + '"'
if re.compile(r"《").findall(name):
tmp = re.compile(r"《(.*?)》").findall(name) # 使用正则表达式获取电影名称
movie_name = tmp[0]
else:
movie_name = str(name)
num = str(movie_num).zfill(5)
data = num + "," + movie_name + "," + movie_score[0] + "," + download_url + "\n"
# print(data)
fp.write(data)
fp.flush()
fp.close()
else:
print("链接不可用")
else:
print("链接不可用")
结果展示为 20190110164728.csv 文件的部分数据:
序号 | 电影 | 评分 | 磁力链接 | |||||||||
1 | 狗十三 | 8.3 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]狗十三HD国语中字.mkv | |||||||||
2 | 印度暴徒 | 6.1 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]印度暴徒BD中英双字.mkv | |||||||||
3 | 嘉年华 | 8.5 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]嘉年华BD国语中字.mp4 | |||||||||
4 | 无名之辈 | 8.2 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]无名之辈HD国语中字.mkv | |||||||||
5 | 狂暴巨兽 | 6.7 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]k狂暴巨兽BD国英双语中英双字.mp4 | |||||||||
6 | 黑镜:潘达斯奈基 | 7.9 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]黑镜:潘达斯奈基HD中字.mkv | |||||||||
7 | 黄金兄弟 | 5.2 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]黄金兄弟BD国语中字.mp4 | |||||||||
8 | 神奇动物:格林德沃之罪 | 7.2 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]sss神奇动物:格林德沃之罪zHD中英双字.mk | |||||||||
9 | 月光光心慌慌 | 6.3 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]月光光心慌慌HD中英双字.mkv | |||||||||
10 | 无双 | 8.2 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]无双HD国语中字.mkv | |||||||||
11 | 憨豆特工3 | 6.6 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]憨豆特工3BD中英双字.mp4 | |||||||||
12 | 登月第一人 | 7.6 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]登月第一人HD中英双字.mkv | |||||||||
13 | 此房是我造 | 8.2 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]此房是我造BD中英双字.mp4 | |||||||||
14 | 李茶的姑妈 | 5 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]李茶的姑妈HD国语中字.mkv | |||||||||
15 | 宝贝儿 | 5.4 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]宝贝儿HD高清国语中字.mp4 | |||||||||
16 | 一个小忙 | 7.2 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]一个小忙BD中英双字.mp4 | |||||||||
17 | 你的婚礼 | 7.1 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]你的婚礼BD韩语中字.mkv | |||||||||
18 | 噩梦娃娃屋 | 6.9 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]噩梦娃娃屋BD中英双字.mp4 | |||||||||
19 | 你好之华 | 7 | ftp://d:[email protected]:12311/[电影天堂www.dy2018.com]你好之华HD国语中字.mkv | |||||||||
(公历)年前接触了 Python ,考虑到毕业设计什么的,当时简单学了一周,知识弄懂了变量什么滴。这次通过张老师的带领,算是跑出来了小页面。当然,就要过年啦,(农历)年前实习也快要结束啦,这就需要更好的学习 Python 啦,时间越来越紧张。慢慢来吧,接下来可以试试数据库什么滴。。。
加油呢,。,。,。