这次将从电影天堂获取最新的电影的详细信息,这里电影的信息罗列的比较详细。

本来只是想获取电影的迅雷链接,然后用迅雷去下载。但看到这里的电影的信息比较完整和详细,忍不住把所有信息都爬取下来了。

下图是《猩球崛起3》 的简介,可以看到信息还是很多的。

主要代码如下:

import requests
import re
from bs4 import BeautifulSoup
from time import sleep URL = "http://www.dytt8.net"
url_index = "http://www.dytt8.net/html/gndy/dyzz/list_23_" def Get_index(number = 1):
#传入索引页的页码,获取标题和对应的详情页的URL,将其构成字典返回
url = url_index + str(number) + ".html"
#传获取HTML源码
res = requests.get(url)
res.encoding = "gb2312" text = res.text #从索引页的源码中获取信息所在的部分并返回
reg_name = r'《(.+?)》'
reg_name = re.compile(reg_name)
Soup = BeautifulSoup(text,'lxml')
Soup = Soup.select('a["class=ulink"]')
MyDict = dict()
for s in Soup:
try:
name = re.findall(reg_name,s.text)[0]
except:
name = str(number)
print("在%s中获取电影名失败" %s)
url = URL + s['href']
MyDict[name] = url if number == 1:
reg_number = r'共(.+?)页/'
reg_number = re.compile(reg_number)
Max = re.findall(reg_number,text)[0] return Max,MyDict
else:
return MyDict def Get_info(url):
#传入详情页的URL获取电影的详细的信息
res = requests.get(url)
res.encoding = "gb2312"
text = (res.text)
#print(text)
Soup = BeautifulSoup(text,'lxml')
Soup = Soup.select('div["id=Zoom"]')
Soup = Soup[0].select("td")[0]
return Soup def Get_info_2(text):
reg_1 = r'(.+?)<br/>'
reg_1 = re.compile(reg_1) reg_2 = r'(ftp:.+?)">'
reg_2 = re.compile(reg_2) Xunlei = re.findall(reg_2,text)
Xunlei = Xunlei[0] info = re.findall(reg_1,text) MyList = list()
for i in info: i = i.replace('<br/>','')
i = i.replace('◎','')
i = i.replace('</table> ','')
MyList.append(i)
return Xunlei,MyList def DownLoad(Dict):
for d in MyDict:
url_2 = MyDict[d]
try:
text= str(Get_info(url_2))
[Xunlei,MyList] = Get_info_2(text)
#print(Xunlei)
f = open("电影.txt",'a')
f.write(Xunlei+'\n') for i in MyList:
if '<' in i:
pass
else:
f.write(i+'\n') f.write("\n\n")
f.close()
except:
print("电影%s的详情下载失败!" %d)
#print("%s 的详情下载完成!" %d) if __name__ == "__main__": [Max,MyDict] = Get_index() DownLoad(MyDict) sleep(2) for j in range(2,int(Max)+1):
MyDict = Get_index(j)
DownLoad(MyDict)
print("第%d页下载完成!" %j)
sleep(2)

获取的结果的如下:

Python获取最新电影的信息的更多相关文章

  1. python获取系统内存占用信息的实例方法

    psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控, ...

  2. 我了解到的新知识之----如何使用Python获取最新外汇汇率信息

    这个需求本来是来源于公司同事工作中需求,用户需要使用数据分析工具Power BI抓取多页的中国银行官网上当天的外汇数据.但是没能研究出来. 我就开始在网络上找关于使用python来抓取当天汇率的案例分 ...

  3. 爬虫实战【4】Python获取猫眼电影最受期待榜的50部电影

    前面几天介绍的都是博客园的内容,今天我们切换一下,了解一下大家都感兴趣的信息,比如最近有啥电影是万众期待的? 猫眼电影是了解这些信息的好地方,在猫眼电影中有5个榜单,其中最受期待榜就是我们今天要爬取的 ...

  4. python 获取淘宝商品信息

    python cookie 获取淘宝商品信息 # //get_goods_from_taobao import requests import re import xlsxwriter cok='' ...

  5. python获取港股通每日成交信息

    接口:ggt_daily 描述:获取港股通每日成交信息,数据从2014年开始 限量:单次最大1000,总量数据不限制 积分:用户积2000积分可调取,5000积分无限制,请自行提高积分,具体请参阅本文 ...

  6. 使用 python 获取 Linux 的 IP 信息(通过 ifconfig 命令)

    我们可以使用 python 代码通过调用 ifconfig 命令来获取 Linux 主机的 IP 相关信息,包括:网卡名称.MAC地址.IP地址等. 第一种实现方式: #!/usr/bin/pytho ...

  7. 使用python获取CPU和内存信息的思路与实现(linux系统)

    linux里一切皆为文件,在linux/unix的根文件夹下,有个/proc文件夹,这个/proc 是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做"/proc&qu ...

  8. python爬取电影网站信息

    一.爬取前提1)本地安装了mysql数据库 5.6版本2)安装了Python 2.7 二.爬取内容 电影名称.电影简介.电影图片.电影下载链接 三.爬取逻辑1)进入电影网列表页, 针对列表的html内 ...

  9. [Python]获取子线程异常信息

    起因 今天在写东西的时候,用到了多线程.遇到了个问题: 子线程的异常,在父线程中无法捕获. 解决 问题代码 问题代码示例代码如下: import threading class SampleThrea ...

随机推荐

  1. sip 常见问题和总结

    1. 加入课堂,成功后,会返回在sdp中会返回所有流媒体的信息?2. 切换镜头 客户端自动切换推流数据 其他不变? * EXOSIP_CALL_REINVITE 底层是怎么区分出来的? * 注册时,4 ...

  2. Radmin Server v3.5.1 汉化破解绿色版 第四版

    下载:https://pan.baidu.com/s/1skOXffJ 使用方法:1.运行“安装.bat”,安装过程静默,安装后无托盘图标,不创建任何快捷方式.2.运行“设置.bat”,进入 radm ...

  3. Chrome 插件 postman 可以在线post

    地址:https://chrome.google.com/webstore/detail/fhbjgbiflinjbdggehcddcbncdddomop

  4. typescript-环境搭建

    这个环境比较简单 搭建 TypeScript 开发环境 什么是 compiler? less 编译器:less EcmaScript 6 编译器:babel TypeScript 编译器:typesc ...

  5. Redis 数据类型及操作

    前言 作为Key-value型数据库,Redis也提供了键(Key)和键值(Value)的映射关系.但是,除了常规的数值或字符串,Redis的键值还可以是以下形式之一: Lists (可重复列表) S ...

  6. webkit 技术内幕 笔记 二

    浏览器历史 80年代末-90年代初:worldwideweb(nexus) -- Berners-Lee 1993: Mosaic浏览器,后来叫网景(Netscape)--Marc Andreesse ...

  7. centos7中python2.7升级到python3.7

    一.下载源码包 # 切换到root目录 [root@localhost ~] cd /root/ # 安装wget [root@localhost ~] yum -y install wget # 使 ...

  8. Mysql快速入门(三)

    MySQL性能优化之查看执行计划explain 介绍: (1).MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发 ...

  9. ECMAScript基本语法——⑤运算符 三元运算符

    ?: 简化ifelse的操作

  10. 844. 走迷宫(bfs模板)

    给定一个n*m的二维整数数组,用来表示一个迷宫,数组中只包含0或1,其中0表示可以走的路,1表示不可通过的墙壁. 最初,有一个人位于左上角(1, 1)处,已知该人每次可以向上.下.左.右任意一个方向移 ...