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

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

下图是《猩球崛起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. SCPI指令闲扯

    准备用SCPI控制我的汉泰DSO3254示波器,实现如下的功能. 一通道采集数据,二通道作为触发,每触发一次,传输一和二通道采集到数据到电脑. 我以为可以如下设计:电脑发出指令,示波器电脑进入挂起状态 ...

  2. Thymeleaf的基本用法

    俗话说,不会前端的后端工程师不是一个合格的程序员.因为在项目中经常要和前端工程师打交道,并且偶尔也会涉及前端的简单开发,因此在闲暇之余学习了一点前端的知识,今天首先总结归纳一下 Thymeleaf 模 ...

  3. JDK下载安装与环境变量配置图文教程【超详细】

    JDK下载安装与环境变量配置图文教程[超详细] 创建时间:2019年11月13日11时02分 文章目录 1. JDK介绍 1.1 什么是JDK? 1.2 JDK版本介绍 2. JDK下载与安装 3.w ...

  4. [AFO]离开,未尝不是一个新的开始

    2019年5月18日 我注册了洛谷,提交了我的第一份AC代码-- A+B Problem 11月16日-17日 在短短6个月的仓促学习后,我从OI零基础走到了CSP-S的考场上 同年11月26日 在与 ...

  5. 实现Windows数据更新

    一.枚举 枚举是一组描述性的名称 定义一组有限的值,不能包含方法 对可能的值进行约束 .定义枚举类 public enum Gender { Male,Female } .使用枚举表示整数值 publ ...

  6. 【巨杉数据库SequoiaDB】巨杉Tech | 四步走,快速诊断数据库集群状态

    1.背景 SequoiaDB 巨杉数据库是一款金融级分布式数据库,包括了分布式 NewSQL.分布式文件系统与对象存储.与高性能 NoSQL 三种存储模式,分别对应分布式在线交易.非结构化数据和内容管 ...

  7. MySQL启动失败故障思路

    1.1 查看 日志 默认路径在数据路径下,以当前主机名加上.err命名 如主机名为tz,数据路径为/mnt/mysql_data目录下 日志文件为tz.err [root@tz mysql_data] ...

  8. SVM-支持向量机(一)线性SVM分类

    SVM-支持向量机 SVM(Support Vector Machine)-支持向量机,是一个功能非常强大的机器学习模型,可以处理线性与非线性的分类.回归,甚至是异常检测.它也是机器学习中非常热门的算 ...

  9. 解决DFS Locations从Eclipse的Navigator中消失的问题

    尝试了这篇博客https://blog.csdn.net/qq_40120951/article/details/85028976所说的解决办法,但对我没用. 最后是重新打开Map/Reduce解决的 ...

  10. K3/Cloud 用插件打开一张已存在的单据

    BillShowParameter billpara = new BillShowParameter();billpara.FormId = "SAL_SaleOrder";//单 ...