失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 爬虫爬取电影天堂电影链接

爬虫爬取电影天堂电影链接

时间:2019-10-15 23:56:24

相关推荐

爬虫爬取电影天堂电影链接

比较热爱python,最近在用eclipse写java web,那就使用eclipse+PyDv配置环境,小试一次爬虫吧~

看电影还要到处找资源,索性自己直接爬取电影链接,只要在迅雷上crtl+c/v就可以边播边下了~

仅以用来学习娱乐呦~~

进入正题:

网页打开电影天堂,发现是一个非常好解析的网页,它网页元素构成简单,容易理解,爬取就不用太多验证控制,首先下载网页源码,然后保存在txt文件中,然后用python读取,进行获取。(完整精简代码在文后)

# -*- coding: utf-8 -*-import pandas as pdimport numpy as npimport urllibfrom urllib import requestfrom bs4 import BeautifulSoupfrom pandas.tests.frame.test_validate import dataframeimport requestsimport sysimport iosys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')url =r'e:\tiantang.txt'resp=open(url,encoding='gb18030',errors='ignore')s = BeautifulSoup(resp,"lxml")mingzitag=s.findAll('a')#print(mingzitag)href=[]mingzis=[]for tag in mingzitag:mingzis.append(str(tag.text))href.append(tag['href'])#print(href)view=pd.DataFrame(mingzis,columns=['NAME'])view2=pd.DataFrame(href,columns=['URL'])view3=view.join(view2)print(view3)

结果:

NAME URL

0 /index.html

1 最新影片 /html/gndy/dyzz/index.html

2 经典影片 /html/gndy/index.html

3 国内电影 /html/gndy/china/index.html

4 欧美电影

16 本站首页 /

17 电影 /html/gndy/index.html

18 最新电影 /html/gndy/dyzz/index.html

19 日韩电影 /html/gndy/rihan/index.html

20 欧美电影 /html/gndy/oumei/index.html

21 国内电影 /html/gndy/china/index.html

22 综合电影 /html/gndy/jddy/index.html

23 科幻动作《全球风暴 /html/gndy/dyzz/0103/55959.html

24 高分恐怖《小丑回魂 /html/gndy/dyzz/1230/55920.html

25 惊悚悬疑《雪人/雪 /html/gndy/jddy/1224/55874.html

26 喜剧《性别之战》BD /html/gndy/jddy/1222/55861.html

73 剧情动作《反贪风暴3/L风暴》HD国语中字 /html/gndy/dyzz/1026/57680.html

74 8.0分动画喜剧《超人总动员2》HD中英双字幕 /html/gndy/dyzz/1025/57675.html

75 [2] list_23_2.html

76 [3] list_23_3.html

77 [4] list_23_4.html

85 电影APP /app.html

86 下载声明 /index.html

87 网站地图 /plus/sitemap.html

.....

删除无关信息

#把无关信息删除view3=view3.drop([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])view3=view3.drop([75,76,77,78,79,80,81,82,83,84,85,86,87])view3.reset_index(drop=True,inplace=True)#print(view3)

NAME URL

0 科幻动作《全球风暴 /html/gndy/dyzz/0103/55959.html

1 高分恐怖《小丑回魂 /html/gndy/dyzz/1230/55920.html

2 惊悚悬疑《雪人/雪 /html/gndy/jddy/1224/55874.html

3 喜剧《性别之战》BD /html/gndy/jddy/1222/55861.html

4 甄子丹刘德华动作《 /html/gndy/dyzz/1218/55832.html

5 詹妮弗·劳伦斯悬疑 /html/gndy/dyzz/1208/55749.html

6 动作喜剧《宝贝特攻 /html/gndy/jddy/1206/55738.html

7 8.3高分战争《敦刻 /html/gndy/dyzz/1205/55728.html

8 高分获奖剧情《相爱 /html/gndy/dyzz/1205/55726.html

9 高分剧情《天才枪手 /html/gndy/dyzz/1202/55684.html

10 爱情喜剧《胡杨的夏 /html/gndy/jddy/1202/55682.html

11 动作喜剧《王牌特工 /html/gndy/dyzz/1130/55665.html

12 动作《英伦对决》国 /html/gndy/dyzz/1130/55664.html

13 动作《美国刺客/美 /html/gndy/dyzz/1123/55603.html

14 悬疑动作《极寒之城 /html/gndy/dyzz/1105/55468.html

15 台湾最新偶像剧《旋风 /html/tv/hytv/0620/32833.html

16 最新台湾偶像剧《爱似 /html/tv/gangtai/tw/1227/30016.html

17 潘玮柏最新偶像剧《爱 /html/tv/gangtai/tw/0823/27737.html

18 台湾热播偶像剧《钟无 /html/tv/gangtai/0726/27236.html

19 热播偶像剧《呼叫大明 /html/tv/gangtai/tw/0517/26035.html

20 台湾偶像剧《就想赖着 /html/tv/gangtai/tw/0118/24051.html

21 热播偶像剧《下一站幸 /html/tv/gangtai/tw/1005/22040.html

22 台湾八大剧《桃花小妹 /html/tv/gangtai/tw/1015/22259.html

23 剧情历史《7月22日》BD中英双字幕 /html/gndy/dyzz/1108/57761.html

24 动作喜剧《欧洲攻略》BD国粤双语中字 /html/gndy/dyzz/1108/57760.html

25 高分动作《碟中谍6:全面瓦解》HD中英双字幕 /html/gndy/dyzz/1107/57755.html

26 剧情战争《飓风行动》BD中英双字幕 /html/gndy/dyzz/1106/57753.html

27 剧情犯罪《你给的仇恨》HD中英双字幕 /html/gndy/dyzz/1106/57748.html

28 高分动画喜剧《超人总动员2》BD英国粤三语双字 /html/gndy/dyzz/1104/57728.html

29 奇幻动画《朝花夕誓》BD日语中字 /html/gndy/dyzz/1104/57726.html

30 科幻动作《巨齿鲨/极悍巨鲨》HD国英双语双字 /html/gndy/dyzz/1104/57722.html

31 动画喜剧《精灵旅社3:疯狂假期》BD英国粤三语双字 /html/gndy/dyzz/1103/57720.html

32 高分奇幻《与神同行:罪与罚》BD韩粤双语中字 /html/gndy/dyzz/1102/57714.html

33 高分奇幻《与神同行2:因与缘》BD韩语中英双字 /html/gndy/dyzz/1102/57713.html

34 悬疑恐怖《修女/招魂外传》BD中英双字幕 /html/gndy/dyzz/1102/57712.html

35 喜剧《西虹市首富》HD国语中英双字 /html/gndy/dyzz/1101/57703.html

36 剧情《巴比龙/逃离恶魔岛》BD中英双字幕 /html/gndy/dyzz/1101/57702.html

37 动作惊悚《伸冤人2/私刑教育2》BD中英双字幕 /html/gndy/dyzz/1101/57700.html

38 爱情喜剧《牵线》BD中英双字幕 /html/gndy/dyzz/1031/57699.html

39 剧情《三角草的春天》BD日语中字 /html/gndy/dyzz/1031/57698.html

40 惊悚恐怖《幼儿怨》BD粤语中字 /html/gndy/dyzz/1029/57694.html

41 高分喜剧《克里斯托弗·罗宾》BD中英双字幕 /html/gndy/dyzz/1028/57688.html

42 动作历史战争《大轰炸》HD中英双字幕 /html/gndy/dyzz/1028/57686.html

43 高分剧情爱情《冷战/没有烟硝的爱情》BD中英双字幕 /html/gndy/dyzz/1027/57685.html

44 冒险剧情《阿尔法:狼伴归途》BD中英双字幕 /html/gndy/dyzz/1026/57682.html

45 高分历史战争《冒牌上尉》BD中英双字幕 /html/gndy/dyzz/1026/57681.html

46 剧情动作《反贪风暴3/L风暴》HD国语中字 /html/gndy/dyzz/1026/57680.html

47 8.0分动画喜剧《超人总动员2》HD中英双字幕 /html/gndy/dyzz/1025/57675.html

发现这些链接只有后半段,缺少前半段,需要加上前半段url

wanzheng=[]t=view3['URL']for row in t:src=''+rowwanzheng.append(src)#print(wanzheng)

['/html/gndy/dyzz/0103/55959.html', '/html/gndy/dyzz/1230/55920.html', '/html/gndy/jddy/1224/55874.html', '/html/gndy/jddy/1222/55861.html', '/html/gndy/dyzz/1218/55832.html', '/html/gndy/dyzz/1208/55749.html', '/html/gndy/jddy/1206/55738.html', '/html/gndy/dyzz/1205/55728.html', '/html/gndy/dyzz/1205/55726.html', '/html/gndy/dyzz/1202/55684.html', '/html/gndy/jddy/1202/55682.html', '/html/gndy/dyzz/1130/55665.html', '/html/gndy/dyzz/1130/55664.html', '/html/gndy/dyzz/1123/55603.html', '/html/gndy/dyzz/1105/55468.html', '/html/tv/hytv/0620/32833.html', '/html/tv/gangtai/tw/1227/30016.html', '/html/tv/gangtai/tw/0823/27737.html', '/html/tv/gangtai/0726/27236.html', '/html/tv/gangtai/tw/0517/26035.html', '/html/tv/gangtai/tw/0118/24051.html', '/html/tv/gangtai/tw/1005/22040.html', '/html/tv/gangtai/tw/1015/22259.html', '/html/gndy/dyzz/1108/57761.html', '/html/gndy/dyzz/1108/57760.html', '/html/gndy/dyzz/1107/57755.html', '/html/gndy/dyzz/1106/57753.html', '/html/gndy/dyzz/1106/57748.html', '/html/gndy/dyzz/1104/57728.html', '/html/gndy/dyzz/1104/57726.html', '/html/gndy/dyzz/1104/57722.html', '/html/gndy/dyzz/1103/57720.html', '/html/gndy/dyzz/1102/57714.html', '/html/gndy/dyzz/1102/57713.html', '/html/gndy/dyzz/1102/57712.html', '/html/gndy/dyzz/1101/57703.html', '/html/gndy/dyzz/1101/57702.html', '/html/gndy/dyzz/1101/57700.html', '/html/gndy/dyzz/1031/57699.html', '/html/gndy/dyzz/1031/57698.html', '/html/gndy/dyzz/1029/57694.html', '/html/gndy/dyzz/1028/57688.html', '/html/gndy/dyzz/1028/57686.html', '/html/gndy/dyzz/1027/57685.html', '/html/gndy/dyzz/1026/57682.html', '/html/gndy/dyzz/1026/57681.html', '/html/gndy/dyzz/1026/57680.html', '/html/gndy/dyzz/1025/57675.html']

这就是完整的链接了,但是得到链接,却没有电影名字,所以需要给每个链接上加上电影名字

view4=pd.DataFrame(wanzheng,columns=['URL'])view5=view3[['NAME']]view6=view5.join(view4)#这是完整的电影名字和电影简介页面链接(进入这个简介页面才能找到下载电影资源的链接)

示例输出如下:

NAME URL

0 科幻动作《全球风暴 /html/gndy/dyzz/0103/...

1 高分恐怖《小丑回魂 /html/gndy/dyzz/1230/...

2 惊悚悬疑《雪人/雪 /html/gndy/jddy/1224/...

3 喜剧《性别之战》BD /html/gndy/jddy/1222/...

所以,我们需要进入简介页面内,获取到完整的电影资源。(好像上一步有点做无用功,,)

ZJURL=[]for row in view6['URL']: resp=urllib.request.urlopen(row)s = BeautifulSoup(resp,"lxml")#按标签层数进入实现精确查找ftptag=s.findAll('table')for tag in ftptag:for tag2 in tag.findAll('tbody'):for tag3 in tag2.findAll('tr'):for tag4 in tag3.findAll('a'):ZJURL.append(tag4['href'])try:file = open(r'E:\ziyuan22.txt', 'w+',encoding='utf-8')for title in ZJURL:file.write(title+'')#加些空格将上一条与下一条链接分开finally:if file:file.close()print('over')

保存后的txt文件大概长这样:

好了,到这里你就获得了一份简单的电影资源了!

现在附上完整精简代码:

1 # -*- coding: utf-8 -*- 2 import pandas as pd 3 import numpy as np 4 import urllib 5 from urllib import request 6 from bs4 import BeautifulSoup 7 from pandas.tests.frame.test_validate import dataframe 8 import requests 9 import sys10 import io11 sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')12 13 url=r'/chuzu/?PGTID=0d100000-001e-365c-b1e8-2142aa50dcb5&ClickID=3'14 page = request.Request(url)15 page_info = request.urlopen(page).read().decode('utf-8')16 17 s = BeautifulSoup(page_info,"lxml")18 #在a标签里获取链接19 mingzitag=s.findAll('a')20 href=[]21 mingzi=[]22 for tag in mingzitag:23mingzi.append(str(tag.text))24href.append(tag['href'])25 #由于a标签里会有许多无用的标签,所以先建立dataframe,以方便查看无效信息的索引,便于删除26 view=pd.DataFrame(mingzis,columns=['NAME'])27 view2=pd.DataFrame(href,columns=['URL'])28 view3=view.join(view2)29 view3=view3.drop([1~22])30 view3=view3.drop([75~87])31 view3.reset_index(drop=True,inplace=True)32 #将完整的电影简介页面的url找到,所以必须加入前缀33 wanzheng=[]34 t=view3['URL']35 for row in t:36src=''+row37wanzheng.append(src)38 39 #将完整url打开找资源链接(ZJURL)40 view4=pd.DataFrame(wanzheng,columns=['URL'])41 ZJURL=[]42 for row in view4['URL']: 43resp=urllib.request.urlopen(row)44s = BeautifulSoup(resp,"lxml")45ftptag=s.findAll('table')46for tag in ftptag:47 for tag2 in tag.findAll('tbody'):48 for tag3 in tag2.findAll('tr'):49 for tag4 in tag3.findAll('a'):50 ZJURL.append(tag4['href'])51 try:52file = open(r'E:\最终电影资源.txt', 'w+',encoding='utf-8')53for title in ZJURL:54 file.write(title+'')55 finally:56if file:57 file.close()58 print('job Done!')

如果觉得《爬虫爬取电影天堂电影链接》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。