程序说明:最近学习origin,看到官网有入门视频(http://www.originlab.com/index.aspx?go=SUPPORT/VideoTutorials),看着挺多的,就用python写了个简单的爬虫程序,把origin的这些视频下载下来了。利用了requests和bs4解析html,利用re.match方法匹配获取相关连接,最后下载。程序代码没有进行进一步整理,看着有些乱。

#!/usr/bin/python
# -*- coding:utf-8 -*- """
Created on Sun Dec 12 14:21:15 2015 Notes: Downloading turtorial vedios from Origin support. @author: zhigang
""" import requests
from bs4 import BeautifulSoup as bs
import re
import urllib
def download_url(url,outdir):
print('Resolving.....from '+url+'....')
import os.path
if not os.path.exists(outdir):os.mkdir(outdir)
response = requests.get(url)
soup = bs(response.text,"lxml")
all_links = []
all_names = [] for x in soup.findAll("a"):
#通配符匹配获得想要的文件名保存到list中
if "href" in x.attrs.keys():
if re.match('.*VideoTutorials&pid.*',x['href']):
information = [x['href'],x.string]
cur_url = 'http://www.originlab.com/'+information[0]
res_new = requests.get(cur_url)
soup_new = bs(res_new.text,"lxml")
for new_alink in soup_new.findAll('a'):
if 'href' in new_alink.attrs.keys():
if re.match('.*mp4',new_alink['href']):
all_links.append(new_alink['href'])
all_names.append(information[1]+'.mp4') #start downloads
print(str(len(all_links))+' tasks found. Started downloading...')
for (i,link) in enumerate(all_links):
print(str(i)+' : '+all_names[i]+'\t url: '+link)
urllib.request.urlretrieve(link,outdir+'\\'+all_names[i])
print(str(i)+' : '+link+'\t completed...')
print('All tasks completed.') if __name__=='__main__':
url = 'http://www.originlab.com/index.aspx?go=SUPPORT/VideoTutorials'
outdir = r'D:\Origin_turtorials'
download_url(url,outdir)

Python获取Origin官网视频的更多相关文章

  1. Python第三方库官网

    Python第三方库官网 https://pypi.python.org/pypi 包下载后的处理: 下载后放到Python的scripts文件夹中(D:\Python3.5\Scripts),用cm ...

  2. RPA UiPath 官网视频

    RPA  UiPath 官网视频相关学习 有一些官网的截图翻译,本来打算把考试题也整理出来,结果没整,另附官网视频 RPA的好处: 广泛的自动化:跨越越来越多的行业,RPA加速在银行和金融,保险,医疗 ...

  3. Python访问Amazon官网异常

    使用Python访问亚马逊(Amazon)官网,如果没有将headers更改为浏览器的信息, 有几率会触发:检测到当前可能是自动程序,需要输入验证码: 将header修改成浏览器后,需要等一段时间或者 ...

  4. ajax的post请求获取kfc官网数据

    # _*_ coding : utf-8 _*_# @Time : 2021/11/2 13:45# @Author : 秋泊酱 # 1页 # http://www.kfc.com.cn/kfccda ...

  5. python爬虫 beutifulsoup4_1官网介绍

    http://www.crummy.com/software/BeautifulSoup/bs4/doc/ Beautiful Soup Documentation Beautiful Soup is ...

  6. python 爬虫 scrapy1_官网教程

    Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...

  7. python常用包官网

    Pandas http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.reset_index.html?high ...

  8. #使用parser获取图片信息,输出Python官网发布的会议时间、名称和地点。

    # !/usr/bin/env/Python3 # - * - coding: utf-8 - * - from html.parser import HTMLParser import urllib ...

  9. Python自学笔记-生成器(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 生成器 通过列 ...

随机推荐

  1. netsat -ano 查看已占用的端口以及tomcat出现端口被占或者启动失败问题

    A.在DOS命令下:输入netstat -ano——回车,可以查看已占用的端口,记下端口的PID,然后打开任务管理器,点查看,选择列,勾选PID确定,找到对应的PID,结束进程,如果结束不了或者结束后 ...

  2. 用word2013写博客

    第一次使用,添加博客账户时碰到一个奇怪的问题,先输入用户名,然后密码只能输入两个字符,后来先输入密码再输入用户名才解决,很神奇~

  3. The Derivation About CNN and Antoencoder

    The Derivation About CNN and Antoencoder 公式推导 本人用latex写的关于CNN和autoencoder的推导,前向和反向传播的推导都有证明.pdf下载地址T ...

  4. iOS内存管理系列之二:自动释放与便捷方法

    有时候一个所有者创建一个对象后,会立刻将该对象的指针传递给其它所有者.这时,这个创建者不希望再拥有这个对象,但如果立刻给它发送一个release消息会导致这个对象被立刻释放掉——这样其它所有者还没有来 ...

  5. Unity3D 命令行参数

    Unity3D 命令行参数 @by 广州小龙                                              unity ios开发群:63438968 Typically, ...

  6. 应用安全技术趋势之 Top 5

    而今,大多数应用都依赖于像入侵防护系统(Instrusion Prevention System)和 Web 应用防火墙(Web Application Firewall,以下全文简称 WAF)这样的 ...

  7. Spring MVC 解读——View,ViewResolver(转)

    上一篇文章(1)(2)分析了Spring是如何调用和执行控制器方法,以及处理返回结果的,现在我们就分析下Spring如何解析返回的结果生成响应的视图. 一.概念理解 View ---View接口表示一 ...

  8. 【HDOJ】3789 奥运排序问题

    写了个函数指针,这题目很水,但是佷烦. #include <iostream> #include <cstring> #include <cstdio> #incl ...

  9. Linux Shell编程(14)——内部变量

    内建变量影响Bash脚本行为的变量.$BASHBash二进制程序文件的路径 bash$ echo $BASH /bin/bash$BASH_ENV该环境变量保存一个Bash启动文件路径,当启动一个脚本 ...

  10. JSTL语法及参数

    转:http://blog.csdn.net/hakunamatata2008/article/details/3942812 JSTL语法及参数 JSTL包含以下的标签:     常用的标签:如&l ...