python 批量下载美剧 from 人人影视 HR-HDTV

本人比较喜欢看美剧,尤其喜欢人人影视上HR-HDTV 的 1024 分辨率的高清双字美剧,这里写了一个脚本来批量获得指定美剧的所有 HR-HDTV 的 ed2k下载链接,并按照先后顺序写入到文本文件,供下载工具进行批量下载。源代码如下:

# python3 实现,下面的实例 3 部美剧爬完大概要 20 s
import urllib.request
import re

def get_links(url, name='yyets'):
    data = urllib.request.urlopen(url).read().decode()
    pattern = '"(ed2k://\|file\|[^"]+?\.(S\d+)(E\d+)[^"]+?1024X576[^"]+?)"'
    linksfind = set(re.findall(pattern, data))
    linksdict = {}
    total = len(linksfind)
    for i in linksfind:
        linksdict[int(i[1][1:3]) * 100 + int(i[2][1:3])] = i
    with open(name + '.txt', 'w') as f:
        for i in sorted(list(linksdict.keys())):
            f.write(linksdict[i][0] + '\n')
            print(linksdict[i][0])
    print("Get download links of: ", name, str(total))

if __name__ == '__main__':
    #---------- 越狱、无耻之徒、权力的游戏---------------------------
    get_links('http://www.yyets.com/resource/10004', 'prision_break')
    get_links('http://www.yyets.com/resource/10760', 'shameless')
    get_links('http://www.yyets.com/resource/d10733','Game_of_Thrones')
    print('All is okay!')

这个 python 爬虫比较短,就用到了 urllib.request 和 re 这两个模块,前者负责抓取网页,后者负责解析文本。人人影视并没有限制爬虫访问,所以这里无需修改 HTTP head的 User-Agent ,对于某些屏蔽爬虫的网页,就需要修改下 User-Agent  这个值了。一个做法如下:用 urllib.request 中 Request 类的构造函数构造一个 Request 对象,构造函数中给自己给
header 赋值,然后将这个对象传入到本模块的 urlopen() 中,就可以将爬虫伪装成一个浏览器进行网页抓取了。比如,CSDN 就是屏蔽了爬虫的,需要修改一下 User-Agent 的值,如下:

import urllib.request

url = 'http://blog.csdn.net/csdn'
head={'User-Agent': 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)'}
req = urllib.request.Request(url, headers=head)
data = urllib.request.urlopen(req, timeout=2).read().decode()
print(data)

抓取完网页就是对 HTML 文档的解析了,这里使用的是正则表达式模块,对于特定单一的内容非常方便。如果需要较复杂的解析可以用 pyquery 或者 Beautiful Soup, 它们是用Python写的 HTML/XML 的解析器,其中 pyquery 是 jquery 风格,更加的好用。

关于正则表达式这里推荐一个工具 RegexBuddy ,拥有强大的正则表达式调试功能,上面脚本中的正则表达式就使用了这个工具进行调试,这篇关于Python正则的博文很不错: Python 正则表达式指南

想进一步加强爬虫的功能,可以用爬虫框架 Scrapy,这是 Scrapy 的官方tutoria 。还有就是,如果网页内容多是 javascript 生成,那么就需要一个 js 引擎了,PyV8 可以拿来试试,再有就是基于 js 做爬虫,如用 casperJS
和 phantomJS.

【地址:http://blog.csdn.net/thisinnocence/article/details/39997883】

时间: 2024-11-03 05:42:47

python 批量下载美剧 from 人人影视 HR-HDTV的相关文章

Python 爬虫批量下载美剧 from 人人影视 HR-HDTV

本人比較喜欢看美剧.尤其喜欢人人影视上HR-HDTV 的 1024 分辨率的高清双字美剧,这里写了一个脚本来批量获得指定美剧的全部 HR-HDTV 的 ed2k下载链接.并依照先后顺序写入到文本文件,供下载工具进行批量下载.比方用迅雷.先打开迅雷,然后复制全部下载链接到剪切板,迅雷会监视剪切板来新建全部任务.假设迅雷没有自己主动监视,能够自己点击新建然后粘贴链接.Python源码例如以下.用的是Python3 : # python3 实现,以下的实例 3 部美剧爬完大概要 10 s import

Node.js 爬虫批量下载美剧 from 人人影视 HR-HDTV

这两天发现了一个叫看知乎的网站,是知乎大牛苏莉安做的,其中爬虫使用的 Node.js.这里就针对上一篇博客中的美剧小爬虫,改用 nodejs 进行实现一下,体验一下强大的 Node.js. 如果之前没有用过 JavaScript,不妨到 http://www.codecademy.com/  做一下 JavaScript 和 jQuery 的入门练习,快速熟悉一下基本语法,有其他语言基础一天时间足够.有基本的了解后,就会发现 JavaScript 的两大特点: 使用基于原型(prototype)

用python下载美剧《天蝎》

本文是小强全栈测试开发班学员投稿,比心! 前言 为了看美剧<天蝎>,终于在电影天堂网站找到了,嘎嘎,于是就想下载下来好好欣赏. 代码 import requests,re,os,time #电影的URL地址 url = "http://www.dygod.net/html/tv/oumeitv/109673.html" s = requests.get(url) # print(s.encoding) #打印下汉字的编码类型 res = re.findall('href=&

使用Python批量下载网站图片

  在网上冲浪的时候,总有些"小浪花"令人喜悦.没错,小浪花就是美图啦.边浏览边下载,自然是不错的:不过,好花不常开,好景不常在,想要便捷地保存下来,一个个地另存为还是很麻烦的.能不能批量下载呢? 只要获得图片地址,还是不难的. 目标  太平洋摄影网, 一个不错的摄影网站. 如果你喜欢自然风光的话,不妨在上面好好饱览一顿吧.饱览一顿,或许你还想打包带走呢.这并不是难事,让我们顺藤摸瓜地来尝试一番吧(懒得截图,自己打开网站观赏吧). 首先,我们打开网址 http://dp.pconlin

用python批量下载贴吧图片 附源代码

环境:windows 7 64位:python2.7:IDE pycharm2016.1 功能: 批量下载百度贴吧某吧某页的所有帖子中的所有图片 使用方法: 1.安装python2.7,安装re模块,安装urllib2模块 2.复制以下源代码保存为tbImgiDownloader.py文件 3.打开某个贴吧并复制其网址 4.打开文件tbImgiDownloader.py在第37行的单引号中输入网址,保存  5.双击tbImgiDownloader.py 说明: 1.本程序每次可以下载大概50个贴

自从会了Python在群里斗图就没输过,Python批量下载表情包!

导语 最近图慌,于是随便写了个表情包批量下载的脚本,没什么技术含量,纯娱乐性质. 让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: requests模块: fake_useragent模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 原理简介 爬的站长之家的表情包,链接: http://sc.chinaz.com/biaoqing/index.html 非常好爬,思路也很简单: ① 获得表情包所在地址:

用python批量下载图片

一 写爬虫注意事项 网络上有不少有用的资源, 如果需要合理的用爬虫去爬取资源是合法的,但是注意不要越界,前一阶段有个公司因为一个程序员写了个爬虫,导致公司200多个人被抓,所以先进入正题之前了解下什么样的爬虫是违法的: 如果爬虫程序采集到公民的姓名.身份证件号码.通信通讯联系方式.住址.账号密码.财产状况.行踪轨迹等个人信息,并将之用于非法途径的,则肯定构成非法获取公民个人信息的违法行为.除此之外,根据相关规定,对于违反国家有关规定,向他人出售或者提供公民个人信息,情节严重的,窃取或者以其他方法

Python批量下载百度贴吧贴子图片

批量下载贴吧里面某个贴子的所有图片,或者只下载某一页中的图片. #!/usr/bin/env python3 import re import urllib.request class DownTiebaImg: def __init__(self, url): self.url = url def getImgLinks(self): response = urllib.request.urlopen(self.url) pattern = re.compile(r'<img class=&quo

用python批量下载wallheaven网站图片

这要从很早以前说起,那个时候是刚开始玩Ubuntu,但是ubuntu的壁纸不太好看,所以我就想方设法找到很漂亮的壁纸来替换原先的,但是我又想让壁纸像幻灯片一样播放,但是ubuntu不像windows,没有这样的功能,所以只能上网找办法来解决,最后终于在ubuntu论坛看到了variety这个东东,这个东西用起来确实很酷,可以自己编辑图片源,但是它本身默认带了几个源,而恰好其中就有wallheaven(那个时候还是wallpaper,之后网站改了叫做wallheaven),所以我就到wallhea