".xls",
".xlsx",
".xlsm",
".xltx",
".xlsb",
".doc",
".docx",
".dotx",
".docm",
".ooxml",
".ppt",
".pptx",
".pptm",
".ppsm",
".ppsx",
".thmx",
".msg",
".pub",
".vsd",
".vss",
".vst",
".vsw",
".vsdm",
".vsdx",
".vssm",
".vssx",
".vstm",
".vstx",
".ole2",
".adm",
".dat",
熟悉Android编程的人在使用gradle构建项目时往往会修改代理从而下载特定版本的gradle。该项目采用gradle构建,使用在cmd输入特定命令的方式编译运行项目。
./gradlew check
通过对批处理文件进行审计,发现调用java进行下载gradle的操作。
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
然后会由于无法访问而报错。
设置系统代理,失败
增加-D选项设置代理,失败
尝试通过proxifier强制为java设置代理的方式进行处理,失败
使用IntelliJ或AndroidStudio等设置代理后进行编译过程,下载并构建好需要的文件。
使用中调用以下命令构建具有下载信息的文件。
./gradlew lookupURLs
然后使用以下命令根据构建好的文件进行文档下载。
./gradlew downloadDocuments
在下载的过程中有时会出现javax.net.ssl.SSLException: java.net.SocketException: Connection reset错误。
使用管理员权限运行cmd。
本次使用半小时共记录了3992条文件信息,并没有完整的运行完成文件信息收集步骤。
单条文件信息示例如下:
{"url": "http://akademie-wien.at/wp-content/uploads/2017/10/Initiative-Politisch.Neu_.Denken-Prinzipien.docx", "mime": "text/html", "mime-detected": "text/html", "status": "302", "digest": "XD3SRJP326UAWIYBJ24ZQYSWKUS77XCR", "length": "688", "offset": "448410", "filename": "crawl-data/CC-MAIN-2018-43/segments/1539583516003.73/crawldiagnostics/CC-MAIN-20181023023542-20181023045042-00541.warc.gz"}
在下载步骤中使用27m41s实际下载了3341个文件,但由于commoncrawl官方限制,下载的文件大小最大为1024KB,约60个文档因此下载不全,无法使用。
在下载的文件中出现了2578个0KB文件,这些文件也无效。
还有一些文档由于其他原因无法打开,故本次下载的有效文档约707个
该方法虽然效率略低,但是强在自动化,值得尝试。
关于其他示例代码请自行探索。