通过脚本自动下载Esri会议材料
在Esri的官网上,可以下载到Esri参加或者举办的各类会议的材料。官方地址为:http://proceedings.esri.com/library/userconf/index.html。
针对某一会议,该网上往往提供会议材料清单表格,部分材料是提供下载的,例如PPT文档或者PDF文档。
以下脚本可用于辅助下载Esri Proceeding网站上的会议PPT,下载好的文档会自动以文档的标题重命名,这样方便检索使用。
制定下载后存放文档的本地文件夹,预先把包含会议材料清单表格的页面使用浏览器保存到本地。
# -*- coding:utf-8 -*-
from lxml import etree
from lxml.html import soupparser
import re
from os import path
import shutil
from os import rename
from urllib.request import Request
import urllib.request try:
rootpath = 'D:/EsriPPT/'
f = open('D:/Recent Proceedings.html', 'r', encoding="windows-1252", errors='ignore')
t = ''.join(f.readlines())
parser = etree.XMLParser(encoding='gbk', dtd_validation=False, recover=True, ns_clean=True)
tree = soupparser.fromstring(t)
rows = tree.xpath('//table/tbody/tr')
for r in rows:
cols = r.xpath('td')
for links in cols[1].iterchildren(tag='a'):
result = re.search(r'dev_int_\d+\.pdf', links.get('href'))
if(result!=None):
oldpath = rootpath + result.group(0)
newpath = cols[0].text + '.pdf'
newpath = rootpath + newpath.replace(':', '_').replace('/', '').replace('?', '')
# to check whether the original file has downloaded
if path.exists(oldpath) and not path.exists(newpath):
rename(oldpath, newpath)
else:
remote = 'http://proceedings.esri.com/library/userconf/devsummit17/papers/' + result.group(0)
urllib.request.urlretrieve(remote, oldpath)
rename(oldpath, newpath) finally:
f.close()
del tree
通过脚本自动下载Esri会议材料的更多相关文章
- Python脚本-自动下载安装
#coding=utf-8 import os import sys if os.getuid() == 0: pass else: print 'no' sys.exit(1) version = ...
- [python] 1、python鼠标点击、移动事件应用——写一个自动下载百度音乐的程序
1.问题描述: 最近百度总爱做一些破坏用户信任度的事——文库金币变券.网盘限速,吓得我赶紧想办法把存在百度云音乐中的歌曲下载到本地. http://yinyueyun.baidu.com/ 可问题是云 ...
- 自动下载MarkDown格式会议论文的程序
近期师兄发给我一个压缩包让我整理文献,而我发现压缩包里的内容是这样: 这样: 和这样的: 我大概看了一下,可能有270多篇文章是这种格式,俗话说的好,没有困难的工作,只有勇敢的研究僧.所以决定用Pyt ...
- 使用脚本自动配置matlab安装libsvm和随机森林工具箱
前言 支持向量机(SVM)和随机森林 都是用于分类的机器学习算法. 这里我需要对网上的工具箱在matlab中进行配置. 效果演示: 1.双击运行“自动配置.bat” 2.matlab会自动启动,手动配 ...
- iOS开发进阶 - 使用shell脚本自动打包上传到fir.im上-b
用fir.im测试已经好长时间了,感觉每次打包上传都很麻烦,想着是不是可以用脚本自动打包,在网上搜了一下确实有,下面总结一下如何使用脚本自动打包上传到fir.im,以及打包过程中遇到的问题和解决办法 ...
- Innosetup打包自动下载.net framework 动态库及替换卸载程序图标.
在使用了一段时间微软自带的安装包打包工具后,总感觉不太顺利,于是便想着找一种更简单稳定的打包工具,这类工具其实还不少,最终经过各种考量,我们选择了 InnoSetup , 该工具是一个完全免费的Win ...
- 如何手动写一个Python脚本自动爬取Bilibili小视频
如何手动写一个Python脚本自动爬取Bilibili小视频 国庆结束之余,某个不务正业的码农不好好干活,在B站瞎逛着,毕竟国庆嘛,还让不让人休息了诶-- 我身边的很多小伙伴们在朋友圈里面晒着出去游玩 ...
- Ubuntu/CentOS下使用脚本自动安装 Docker
Ubuntu.Debian 系列安装 Docker 系统要求 Docker 支持以下版本的 Ubuntu 和 Debian 操作系统: Ubuntu Xenial 16.04 (LTS) Ubuntu ...
- MIT-Adobe FiveK Dataset 图片自动下载
MIT-Adobe FiveK Dataset 图片自动下载 MIT-Adobe FiveK是现在很多做图像增强(image enhancement)与图像修饰(image retouching)方面 ...
随机推荐
- JS正则表达式端口号,IP地址
端口号:65535 正则:/^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6 ...
- macOS High Sierra 10.13正式版USB安装盘制作
1.首先,准备一个 8GB 或更大容量的 U盘,并备份好里面的所有资料. 2.下载好 macOS High Sierra 正式版的安装程序:https://support.apple.com/zh-c ...
- (热死你)Resin https ssl Linux 配置,实战可用
(热死你)Resin https ssl Linux 配置,实战可用 一.配置resin 1.在resin服务器中创建目录keys文件和openssl.conf,格式内容如下: #先复制以下的内容: ...
- (转)aix非计算内存 占用过高 案例一则
原文:http://www.talkwithtrend.com/Article/28621 两台小型机组成的RAC环境,在用topas查看资源使用情况时,发现一台机器的非计算内存占用过高: MEMOR ...
- 如何对react进行性能优化
React本身就非常关注性能,其提供的虚拟DOM搭配上DIff算法,实现对DOM操作最小粒度的改变也是非常高效的,然而其组件的渲染机制,也决定了在对组件更新时还可以进行更细致的优化. react组件 ...
- 使用 Go 的 struct tag 来解析版本号字符串
各类软件的版本号定义虽然都不尽相同,但是其基本原理基本上还是相通的:通过特写的字符对字符串进行分割.我们把这一规则稍作整理,放到 struct tag 中,告诉解析器如何解析,下面就以 semver ...
- Android的网络编程
1.3主要接口 Android平台有三种网络接口可以使用,他们分别是:java.net.*(标准Java接口).Org.apache接口和Android.net.*(Android网络接口).下面分别 ...
- 解决Ubuntu系统的每次开机重启后,resolv.conf清空的问题和DNS域名解析问题(图文详解)
不多说,直接上干货! 问题情况描述如下: 普及知识: /etc/resolv.conf ,其实是一个Link .它其实指向的是 /run/resolvconf/resolv.conf. Ubun ...
- BST转换成有序链表
把二元查找树转变成排序的双向链表(树)题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点,只调整指针的指向. struct BSTreeNode{ int va ...
- 我们的GAME-TECH沙龙北京站完美收官了,都讨论了些啥?
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由 腾讯游戏云 团队首发与云+社区 摘要:4月13日,腾讯游戏云GAME-TECH游戏开发者技术沙龙于北京举办.此次活动是腾讯游戏云游戏 ...