Board logo

标题: [网络连接] 【已解决】批处理如何利用cul下载人民日报网址的某天的数据 [打印本页]

作者: qq629926132    时间: 2021-4-16 20:32     标题: 【已解决】批处理如何利用cul下载人民日报网址的某天的数据

本帖最后由 qq629926132 于 2021-4-17 14:08 编辑

想利用cul下载人民日报网址的某天的数据
现在想到的办法是 输入一个时间日期,然后下载当天的数据
他的网址比较有规律,是这样排序的
http://paper.people.com.cn/rmrb/page/2020-04/01/01/rmrb2020040101.pdf
http://paper.people.com.cn/rmrb/page/2020-04/01/02/rmrb2020040102.pdf

http://paper.people.com.cn/rmrb/page/2020-04/01/14/rmrb2020040114.pdf
网址比较有规律,前半部分为年-月/日的组合,后面01和尾部PDF序号是按照顺序递增的

我现在想到的办法是手动输入日期,然后拼接后面的网址实现下载
但是现在遇到问题如下
开始的数据不是2位数,比如01 02,它变成了1 2 3结果就会找不到地址下载失败
  1. set /p date=time
  2. set start=01
  3. set end=21
  4. (for /l %%a in (%start% 1 %end%) do (
  5. curl -O http://paper.people.com.cn/rmrb/page/%date%/%%a/rmrb20200401%%a.pdf
  6. ))
  7. pause
复制代码
修改版。现在加了这段代码,发现可以实现循环了 ,nice
改版如下:
  1. @echo off&setlocal EnableDelayedExpansion
  2. set /p date=time
  3. (for /l %%i in (1,1,21) do (set i=0%%i
  4. set i=!i:~-2!
  5. curl -O http://paper.people.com.cn/rmrb/page/%date%/!i!/rmrb20200401!i!.pdf
  6. ))
  7. pause
复制代码
还有其他的,准备研究一下合并PDF文件试试,

新问题:
用curl下载的文件,能否指定目录文件夹呢,网上找的方案是:
curl -L url -O <filePath>
curl -L -O  http://paper.people.com.cn/rmrb/page/2020-02/02/02/rmrb2020020202.pdf “E:\1”
可是目录里面是空的,还是会下载到批处理当前目录

暂时没找到解决办法,利用了一个笨方法
把下载到当前目录的PDF文件,用move命令移动到文件夹,
作者: xp3000    时间: 2021-4-17 18:35

解决了?还有这种
  1. @echo off&setlocal Enabledelayedexpansion
  2. ::字符串29个,赋予变量str
  3. set "str=01;03;05;07;08;10;12;15;29;20"
  4. ::生成字符串0-26;间隔3赋予变量%%a,
  5. ::数字内容为:0,3,6,9,12,15,18,21,24;其中27不列入
  6. for /l %%a in (0,3,26) do (
  7. echo;变量str字符串,从%%a位分割处提取2位字符串
  8. echo !str:~%%a,2!
  9. )
  10. pause
复制代码
还有这种
  1. @echo off
  2. for /l %%a in (1001 1 1099) do (set var=%%a
  3. call,echo 生成字符串偏移2位取所有:%%var:~2%%
  4. )
  5. pause
复制代码

作者: qq629926132    时间: 2021-4-19 15:31

回复 2# xp3000


    学习了,感谢您的分享




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2