通过脚本自动下载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

  

时间: 2024-07-30 16:13:46

通过脚本自动下载Esri会议材料的相关文章

利用python脚本自动下载ICML会议接受的文章

最近需要下载ICML会议2015年接受的最新的文章,但是到官网一看,那么多的文章,如果我一篇一篇点击下载的话,什么时候是个头呢?于是就想着用python脚本对文章的页面进行处理,得到相关文章的url,然后进行下载. 通过观察ICML会议的Accepted Papers发现,其的结构还是比较整齐的,其中我们需要的信息的代码片段如下: <div class="paper"> <p class="title">Approval Voting and

Python脚本自动下载小说

本人喜欢在网上看小说,一直使用的是小说下载阅读器,可以自动从网上下载想看的小说到本地,比较方便.最近在学习Python的爬虫,受此启发,突然就想到写一个爬取小说内容的脚本玩玩.于是,通过在逐浪上面分析源代码,找出结构特点之后,写了一个可以爬取逐浪上小说内容的脚本. 具体实现功能如下:输入小说目录页的url之后,脚本会自动分析目录页,提取小说的章节名和章节链接地址.然后再从章节链接地址逐个提取章节内容.现阶段只是将小说从第一章开始,每次提取一章内容,回车之后提取下一章内容.其他网站的结果可能有不同

[python] 1、python鼠标点击、移动事件应用——写一个自动下载百度音乐的程序

1.问题描述: 最近百度总爱做一些破坏用户信任度的事——文库金币变券.网盘限速,吓得我赶紧想办法把存在百度云音乐中的歌曲下载到本地. http://yinyueyun.baidu.com/ 可问题是云音乐中并没有批量下载,而上面我总共存了700多首音乐! 因此:有必要写一个脚本自动下载这些音乐了!!! 2.解决问题 自动下载歌曲有两种方法: JS法 模拟鼠标点击法 由于考虑到JS法需要分析网页结构.寻找下载链接,工作量有点大,于是选择用模拟鼠标点击法! 在linux上我首先想到用python来做

bat脚本自动安装Jmeter&amp;Jdk

本文主要介绍通过Bat脚本自动下载.自动安装.自动配置Jmeter&JDK! echo=1/*>nul&@cls @echo off :: 由于脚本内使用了bitsadmin下载器,故可能会被做病毒杀掉,若出现此类情况请关闭杀毒软件 :: 脚本更适合安装全新环境Jmeter&Jdk,其它环境也做了部分兼容,但可能兼容不完全 :: 若配置过程中出现下载问题,可手动准备相应工具至tools目录 :: 此脚本默认为配置X64 Windows操作系统,若需在32位操作系统配置此环境手

Shell 脚本笔记01-tftp服务器自动下载调试

由于工作上要反复从PC上交叉编译好应用程序,并通过tftp下载到ZYNQ板子上进行运行调试.重复敲命令过于麻烦,所以编写一个脚本实现自动下载,改权限和运行功能. 一.准备工作 将ZYNQ7000开发板和主机端(PC或虚拟机)连接到同一网段. 主机端安装好tftpd-hpa服务器和xinet.d,启动运行 [email protected]:~$ sudo service xinetd restart #开启xinetd服务 [sudo] password for z: xinetd stop/w

windows bat脚本实现ftp自动下载 删除

现在有一个需求就是把远程某个文件下面的图片,下载到本地,并且删除下载成功的的文件,而且远程目录下的那个图片会随时增加.假设一下如果所有的脚本都写好了,那么就需要调用windows上的计划任务定时执行脚本就ok了,Linux上利用cronjob 同样可以做到.大体的实现思路如下,当然了不止这一种方式. 在远程服务器上搭建ftp server ,例如这里在远程服务上的 images 作为下载目录.搭建ftp server 最简单的方式就是用FileZilla Server 这个工具去搭建,很方便,零

cdh hadoop 安装包自动下载脚本

cdh hadoop 安装包自动下载脚本 下面的shell脚本用于自动下载cdh5.2.1的hadoop rpm包. 测试通过. #!/bin/bash # # @file # cdh5_rhel6_x64_cdh5.2.1-downloads.sh # # @date # 2014-12-18 # # @author # cheungmine # # @version # 0.0.1pre # # download all RPMS from: # -- http://archive.clou

AIX 用SHELL脚本 自动FTP下载文件

用SHELL脚本 自动FTP下载文件:kaiboss1:/weblogic/bboss> uname -xAIX kaiboss1 3315381580 3 5 00C59CB54C00kaiboss1:/weblogic/bboss> more ./memberupload/memberupload.shcd /weblogic/bboss/memberupload/fileftp -inv 10.1.140.123 <<!>memberfile.loguser ftp31

iOS开发进阶 - 使用shell脚本自动打包上传到fir.im上-b

用fir.im测试已经好长时间了,感觉每次打包上传都很麻烦,想着是不是可以用脚本自动打包,在网上搜了一下确实有,下面总结一下如何使用脚本自动打包上传到fir.im,以及打包过程中遇到的问题和解决办法 相关资料和下载 首先是打包脚本的下载地址,这个是我找到的比较全的一个,里面有很多不同功能的shell脚本,亲测好用,传送门:https://github.com/heyuan110/BashShell?spm=5176.100239.blogcont5028.4.kFcLtR 还有关于fir指令的一