在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

  

最新文章

  1. KOTLIN开发语言文档(官方文档) -- 入门
  2. owin中间件
  3. 如何写BaseDomain
  4. linux第4天 shell socket
  5. paper 19 :机器学习算法(简介)
  6. http_load的安装及使用方法
  7. SSDT – Error SQL70001 This statement is not recognized in this context-摘自网络
  8. mysql数据库字段区分大小写的设置方法
  9. .Net Core 环境搭建
  10. backBarButtonItem无效
  11. BZOJ_2049_[Sdoi2008]Cave 洞穴勘测_LCT
  12. 【POJ2226】Muddy Fields
  13. vim安装自动补全插件
  14. 基于mindwave脑电波进行疲劳检测算法的设计(2)
  15. linux网络常用命令
  16. poj 2299 Ultra-QuickSort(归并排序,树状数组,线段树)
  17. 【cs229-Lecture3】Logistic回归
  18. Entity Framework 入门
  19. 【bzoj2938】病毒
  20. SpringBoot 部署 docker 打包镜像

热门文章

  1. 能够放在文档的 <head> 中的各种配置元素
  2. Redis学习笔记(6)——SpringDataRedis入门
  3. Java NIO学习与记录(一):初识NIO
  4. /usr/bin/ld: cannot find -lperconaserverclient_r 解决
  5. Mac OS 10.12使用U盘重装(转)
  6. 用Python写了一个postgresql函数,感觉很爽
  7. shiro学习笔记_0200_认证
  8. java中Filter过滤器处理中文乱码的方法
  9. $scope作用域与依赖注入
  10. AngularJS 的常用特性(四)