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

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

下图是《猩球崛起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. 数字孪生 VS 平行系统

    数字孪生和平行系统作为新兴技术,在解决当今人工智能邻域面临的信息量大,干扰信息不确定因素多,与人的参与沟通更加紧密,人机互动更加重视,为了使人们有更好的体验人工智能带来的便利,急需推动信息物理社会的高 ...

  2. Codeforces Round #620 (Div. 2) D

    构造一个排列,要求相邻之间的数满足给定的大小关系,然后构造出两个序列,一个序列是所有可能的序列中LIS最长的,一个所有可能的序列中LIS最短的 最短的构造方法:我们考虑所有单调递增的部分,可以发现要让 ...

  3. matlab bitset的理解

    在阅读别人的matlab程序中,发现了这个bitset函数.于是查阅资料搞明白了大概意思,意思如下: B= bitset(A,pos,V) 将A以二进制来表示,并将第pos个位置, 设置为 V 的值, ...

  4. Java数三退一问题

    问题描述 有100人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位. 代码实现: public class Count3Quit1 { ...

  5. 1.(group by)如何让group by分组后,每组中的所有数据都显示出来

    问题描述:表如下,如何让这个表按device_id这个字段分组,且组中的每条数据都查寻出来?(假如说这个表名为:devicedata) 错误答案:select * from devicedata GR ...

  6. python之路(集合,深浅copy,基础数据补充)

    一.集合:类似列表,元组的存储数据容器,不同点是不可修改,不可重复.无序排列. 1.创建集合: (1).set1 = {'abby', 'eric'} result:{'eric', 'abby'} ...

  7. SQL Server Varchar 中文乱码问题与使用SQL Server Management Studio管理软件查询出来的字段限制

    问题:不管是用varchar 还是nvarchar,插入记录为中文时,都会显示乱码?? 即使建表时指明了某个字段的语言也没用 COLLATE Chinese_PRC_CS_AS_WS 原因:可能是安装 ...

  8. StaticFileMiddleware 解析

       说明:由于部分产品没有静态资源的管理,我突然想到能不能用现有的静态文件中间件的功能调整一下实现多组织件上传文件的隔离呢?那第一步先看懂   StaticFileMiddleware做了什么吧. ...

  9. SpringBoot之Configuration

      在SpringBoot中可以通过@Configuration对某个类注解将该类申明为配置类,以此在代替先前spring版本中配置xml中的功能,并且增加了可读性与维护性.并且在注解类中的类方法中可 ...

  10. python 轮询,长轮询

    轮询相关 用于消息和投票等 轮询 1.采用js 定时请求. html <!DOCTYPE html> <html lang="zh-CN"> <hea ...