作者:QK丫头419QJ | 来源:互联网 | 2018-07-17 19:27
Python2.7Mac OS
抓取的是电影天堂里面最新电影的页面。链接地址: http://www.dytt8.net/html/gndy/dyzz/index.html
获取页面的中电影详情页链接
import urllib2
import os
import re
import string
# 电影URL集合
movieUrls = []
# 获取电影列表
def queryMovieList():
url = 'http://www.dytt8.net/html/gndy/dyzz/index.html'
cOnent= urllib2.urlopen(url)
cOnent= conent.read()
cOnent= conent.decode('gb2312','ignore').encode('utf-8','ignore')
pattern = re.compile ('.*?>
'+
'(.*?) ',re.S)
items = re.findall(pattern,conent)
str = ''.join(items)
pattern = re.compile ('(.*?).*? | (.*?) | ',re.S)
news = re.findall(pattern, str)
for j in news:
movieUrls.append('http://www.dytt8.net'+j[0])
抓取详情页中的电影数据
def queryMovieInfo(movieUrls):
for index, item in enumerate(movieUrls):
print('电影URL: ' + item)
cOnent= urllib2.urlopen(item)
cOnent= conent.read()
cOnent= conent.decode('gb2312','ignore').encode('utf-8','ignore')
movieName = re.findall(r'(.*?)
', conent, re.S)
if (len(movieName) > 0):
movieName = movieName[0] + ""
# 截取名称
movieName = movieName[movieName.find("《") + 3:movieName.find("》")]
else:
movieName = ""
print("电影名称: " + movieName.strip())
movieCOntent= re.findall(r'(.*?)',conent , re.S)
pattern = re.compile('
(.*?)', re.S)
movieDate = re.findall(pattern,movieContent[0])
if (len(movieDate) > 0):
movieDate = movieDate[0].strip() + ''
else:
movieDate = ""
print("电影发布时间: " + movieDate[-10:])
pattern = re.compile('
(.*?)
0):
movieInfo = movieInfo[0]+''
# 删除
标签
movieInfo = movieInfo.replace("
","")
# 根据 ◎ 符号拆分
movieInfo = movieInfo.split('◎')
else:
movieInfo = ""
print("电影基础信息: ")
for item in movieInfo:
print(item)
# 电影海报
pattern = re.compile('', re.S)
movieImg = re.findall(pattern,movieContent[0])
if (len(movieImg) > 0):
movieImg = movieImg[0]
else:
movieImg = ""
print("电影海报: " + movieImg)
pattern = re.compile('.*? | ', re.S)
movieDownUrl = re.findall(pattern,movieContent[0])
if (len(movieDownUrl) > 0):
movieDownUrl = movieDownUrl[0]
else:
movieDownUrl = ""
print("电影下载地址:" + movieDownUrl + "")
print("------------------------------------------------\n\n\n")
执行抓取
if __name__=='__main__':
print("开始抓取电影数据");
queryMovieList()
print(len(movieUrls))
queryMovieInfo(movieUrls)
print("结束抓取电影数据")
总结
学好正则表达式很重要,很重要,很重要!!!! Python的语法好有感觉, 对比Java …
推荐阅读
-
本教程将深入探讨QBlog开源博客系统的Page_Load生命周期,并介绍一种简洁的参数传递重构方法。通过视频演示和详细讲解,帮助开发者更好地理解和应用这些技术。 ...
[详细]
蜡笔小新 2024-12-28 10:39:53
-
本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ...
[详细]
蜡笔小新 2024-12-28 09:42:41
-
-
本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ...
[详细]
蜡笔小新 2024-12-28 04:11:47
-
一位程序员的妻子在网上分享了她丈夫在北京工作八年的经历,月薪仅3万元,存款情况却出乎意料。本文探讨了高学历人才在大城市的职场现状及生活压力。 ...
[详细]
蜡笔小新 2024-12-28 11:14:15
-
尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ...
[详细]
蜡笔小新 2024-12-28 11:12:44
-
本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ...
[详细]
蜡笔小新 2024-12-28 11:00:33
-
本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ...
[详细]
蜡笔小新 2024-12-28 09:49:42
-
在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ...
[详细]
蜡笔小新 2024-12-28 09:13:44
-
本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ...
[详细]
蜡笔小新 2024-12-28 09:10:26
-
在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ...
[详细]
蜡笔小新 2024-12-28 08:20:07
-
本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ...
[详细]
蜡笔小新 2024-12-28 05:52:22
-
本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ...
[详细]
蜡笔小新 2024-12-28 02:40:28
-
本文探讨了如何像程序员一样思考,强调了将复杂问题分解为更小模块的重要性,并讨论了如何通过妥善管理和复用已有代码来提高编程效率。 ...
[详细]
蜡笔小新 2024-12-28 01:48:10
-
本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ...
[详细]
蜡笔小新 2024-12-27 22:07:40
-
本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ...
[详细]
蜡笔小新 2024-12-27 21:33:33
-