python爬虫电影资源_python爬虫批量获取最新电影资源
image.png
前提
安装 python, 版本 3.5 以上
安装 pip (有些 python 安装包里面已经自带了)
然后用 pip 安装 requests,在命令行输入命令:pip install requests
用 pip 安装 requests_cache: pip install requests_cache
初步尝试
好了,我们新建个脚本文件叫 t.py:
import requests
import requests_cache
requests_cache.install_cache('demo_cache') # 为 requests 建立缓存,避免每次执行都去请求一次网页,造成时间浪费
# 把我们的爬虫伪装成浏览器,否则服务器会拒绝你的请求
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36',
}
response = requests.get("http://www.dy2018.com/html/gndy/dyzz/index.html", headers=headers)
html_doc = response.content.decode('gbk') # 由于此网页是 gb2312 编码的,需要转码成 utf8,但 python 貌似不支持 gb2312,所以用 gbk
print(html_doc)
在命令行运行一次 python t.py,我们就可以看到它输出了网页源码,第一步算是完成了。
提取列表页URL
打开刚才的网页,因为一开始会有广告,所以我们先在任意位置点击一下这个页面,让广告弹出来就可以了。
然后鼠标移向电影标题 --> 右键点击 --> 点击【检查元素】或【Inspect】(如果你的游览器没有这个功能,请下载基于 Chrome 的浏览器,如 360浏览器等)
然后我们会看到这样的界面:
image.png
红箭头所指就是本页所有电影标题都有的类名,待会我们就可以根据这个类名一次性提取出所有电影标题了,见代码:
import requests
import os
import requests_cache
from bs4 import BeautifulSoup
requests_cache.install_cache('demo_cache')
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36',
}
response = requests.get("http://www.dy2018.com/html/gndy/dyzz/index.html", headers=headers)
html_doc = response.content.decode('gbk')
# print(html_doc)
soup = BeautifulSoup(html_doc, 'lxml')
links = []
for a in soup.select('.ulink'):
href = 'http://www.dy2018.com' + a['href']
title = a.string
links.append(href)
print(href, title)
要想正确运行这段代码,你还得先安装一些 python 库:
pip install lxml
pip install beautifulsoup4
然后再次执行 python t.py 就会看到如下输出:
http://www.dy2018.com/i/98372.html 2017年国产喜剧片《父子雄兵》HD国语中字
http://www.dy2018.com/i/98369.html 2017年国产奇幻片《鲛珠传》HD高清国语中英双字
http://www.dy2018.com/i/98364.html 2017年欧美科幻片《变形金刚5最后的骑士》HD韩版中英双字
......更多的就不列出来了
从列表页进入电影页,并提取下载链接
我们先鼠标点进电影页,然后通过检查元素(上一步有介绍),得到下载链接的元素选择器,当然这次的有点复杂,不像上一步那么直观,还需要自己推导,具体过程就不说了,直接给出结果:#Zoom table a
这一次在代码中,我们需要通过上一步获得的 links 数组分别进入每个电影页,然后拿到下载链接,部分代码如下:
for link in links:
response = requests.get(link, headers=headers)
html_doc = response.content.decode('gbk')
soup = BeautifulSoup(html_doc, 'lxml')
ftp_element = soup.select('#Zoom table a')[0] ### 注释1
download_link = ftp_element['href']
print(download_link)
time.sleep(random.randint(1, 2)) ### 注释2
注意:
注释1,由于 select() 的结果是一个数组,所以我们需要选择第一个元素
注释2,每次请求一次就让程序睡眠1~2秒,是为了不给对方服务器造成太大压力
再次执行 python t.py 就可以看到我们要的下载链接了:
ftp://d:d@dygodj8.com:12311/[电影天堂www.dy2018.com]父子雄兵HD国语中字.mkv
ftp://d:d@dygodj8.com:12311/[电影天堂www.dy2018.com]鲛珠传HD高清国语中英双字.mkv
ftp://d:d@dygodj8.com:12311/[电影天堂www.dy2018.com]变形金刚5最后的骑士HD韩版中英双字.mkv
ftp://y:y@dygod18.com:15132/[电影天堂www.dy2018.com]加勒比海盗5:死无对证HD高清中英双字.rmvb
......更多的就不贴出来了
当然上面那段代码直接拿去是执行不了的,
完整代码如下:
import requests
import os
import random
import time
import requests_cache
from bs4 import BeautifulSoup
requests_cache.install_cache('demo_cache')
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36',
}
response = requests.get("http://www.dy2018.com/html/gndy/dyzz/index.html", headers=headers)
html_doc = response.content.decode('gbk')
# print(html_doc)
soup = BeautifulSoup(html_doc, 'lxml')
links = []
for a in soup.select('.ulink'):
href = 'http://www.dy2018.com' + a['href']
title = a.string
links.append(href)
# print(href, title)
for link in links:
response = requests.get(link, headers=headers)
html_doc = response.content.decode('gbk')
soup = BeautifulSoup(html_doc, 'lxml')
ftp_element = soup.select('#Zoom table a')[0]
download_link = ftp_element['href']
print(download_link)
time.sleep(random.randint(1, 2))
python爬虫电影资源_python爬虫批量获取最新电影资源相关推荐
- python新闻爬虫教程_python简易爬虫教程--(一)批量获取搜狐新闻
我们先从简单的抓取文本信息开始,来写我们的第一个爬虫程序,获取搜狐新闻的内容. 我们首先来介绍一下我们需要用到的库. 爬虫程序的步骤,一般可以分为三步: 1.获取网页源码(html源码): 2.从代码 ...
- python找电影资源_Python爬虫爬取BT之家找电影资源
head.jpg 一.写在前面 最近看新闻说圣城家园(SCG)倒了,之前BT天堂倒了,暴风影音也不行了,可以说看个电影越来越费力,国内大厂如企鹅和爱奇艺最近也出现一些幺蛾子,虽然目前版权意识虽然越来越 ...
- python爬电影资源_Python爬虫爬取BT之家找电影资源
一.写在前面 最近看新闻说圣城家园(SCG)倒了,之前BT天堂倒了,暴风影音也不行了,可以说看个电影越来越费力,国内大厂如企鹅和爱奇艺最近也出现一些幺蛾子,虽然目前版权意识虽然越来越强,但是很多资源在 ...
- python爬取豆瓣电影信息_Python爬虫入门 | 爬取豆瓣电影信息
这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...
- python爬虫电影信息_Python爬虫入门 | 爬取豆瓣电影信息
这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...
- python编程理论篇_Python爬虫入门实战之猫眼电影数据抓取(理论篇)
前言 本文可能篇幅较长,但是绝对干货满满,提供了大量的学习资源和途径.达到让读者独立自主的编写基础网络爬虫的目标,这也是本文的主旨,输出有价值能够真正帮助到读者的知识,即授人以鱼不如授人以渔,让我们直 ...
- python自动爬取更新电影网站_Python爬虫之—微信实时爬取电影咨询
本文将介绍如何使用爬虫在微信对话中实现实时的电影咨询爬取功能,希望和大家一起来分享" 1. 撩妹起源 俗话说的好:少壮不撩妹,长大徒伤悲啊! 说的很对,但是在这个撩妹的时代,要想成功把到妹, ...
- python爬电影天堂_python爬虫爬取电影天堂电影
python爬虫爬取电影天堂电影?本项目实现一个简单的爬虫,通过requests和BeautifulSoup爬取电影天堂电影信息,包括片名.年代.产地.类别.语言.海报链接和视频链接等内容.pytho ...
- python爬虫多线程下载_Python爬虫之多线程下载豆瓣Top250电影图片
爬虫项目介绍 本次爬虫项目将爬取豆瓣Top250电影的图片,其网址为:https://movie.douban.com/top250, 具体页面如下图所示: 本次爬虫项目将分别不使用多线程和使用多线程 ...
- python爬虫影评_python爬虫实战一:分析豆瓣中最新电影的影评
简介 刚接触python不久,做一个小项目来练练手.前几天看了<战狼2>,发现它在最新上映的电影里面是排行第一的,如下图所示.准备把豆瓣上对它的影评(短评)做一个分析. 目标总览 主要做了 ...
最新文章
- MySQL InnoDB的内存管理
- BLE-NRF51822教程4-串口BLE解析
- 如何解决error: failed to push some refs to ‘xxx(远程库)‘
- App.vue文件報錯
- Linux系统json文件打中文,如何在 Linux 终端上漂亮地打印 JSON 文件
- ISCC2014-reverse
- CAS实现原子操作的三大问题
- SAP License:成本收集器两则
- php 判断数组某个值,浅谈PHP检查数组中是否存在某个值 in_array 函数
- mysql enterprise backup 使用_mysql enterprise backup入门使用
- mysql 日志mixed模式_[MySQL binlog]彻底解析Mixed日志格式的binlog
- 【转】Java工程师成神之路
- Latex入门简明教程
- 位置不可用——文件或目录损坏且无法读取
- python上位机实现机械臂拾物
- PNAS:整合抑郁症的分子、细胞和皮层神经影像特征
- 使用C#编写17种Hello World程序(初学者C#测试石)
- 黄金价格走势分析,国内十大现货黄金正规平台排名
- OEL / RedHat linux 配置无线网络连接(含驱动安装)
- PAT乙级题目答案汇总 PAT (Basic Level) Practice (中文)