在抓取时,文件下载路径为JavaScript

时间:2017-02-08 07:05:15

标签: javascript python-3.x web-crawler

我正在练习抓取以下载文件。

我正在抓取一个网站。

http://www.hanaif.re.kr/kor/jsp/board/board.jsp?sa=ci&bid=90&pg=1&no=32919

我查看了这个公告板的html代码。

我找到了这个。

<a href="JavaScript:downloadClick( '부채보유_가구의_재무상황_점검_및_시사점(2016가금복).pdf', '20170201141002555_5623' )" title="부채보유_가구의_재무상황_점검_및_시사점(2016가금복).pdf">부채보유_가구의_재무상황_점검_및_시사점...</a>

由于试图找到下载网址,我找到了这种类型的地址。

http://www.hanaif.re.kr/kor/jsp/board/include/download.jsp?realFileName=' + (realFileName) + '&fileName=' + (fileName)

编码后,我的程序输出此结果。

http://www.hanaif.re.kr/kor/jsp/board/include/download.jsp?realFileName=20170201141002555_5623&fileName=부채보유_가구의_재무상황_점검_및_시사점(2016가금복).pdf

文件下载得很好。

但是,

http://www.hanaif.re.kr/kor/jsp/board/board.jsp?sa=ci&bid=42&pg=32&no=17050

这是同一公告栏上的另一篇文章。

这个的html代码如下。

<a href="JavaScript:downloadClick( 'IMF 10년의 회고와 시사점.pdf', 'IMF 10년의 회고와 시사점.pdf' )" title="IMF 10년의 회고와 시사점.pdf">IMF 10년의 회고와 시사점.pdf</a>

同样,我的程序会输出以下结果。

http://www.hanaif.re.kr/kor/jsp/board/include/download.jsp?realFileName=IMF 10년의 회고와 시사점.pdf&fileName=IMF 10년의 회고와 시사점.pdf

但是,我无法下载该文件。

更准确地说,可以通过网址下载文件。

但是,无法加载文档。

有什么问题?

另外,有没有办法从JavaScript实现的网站轻松获取文件下载URL?

1 个答案:

答案 0 :(得分:1)

当您单击下载链接时,它会将数据发布到服务器: enter image description here

import requests

payload = {'fileName': 'IMF 10년의 회고와 시사점.pdf',
         'path': '/kor/jsp/board/include/download.jsp',
         'realFileName': 'IMF 10년의 회고와 시사점.pdf'}

r = requests.post('http://www.hanaif.re.kr/kor/jsp/board/include/download.jsp', data=payload, stream=True )
filename = payload['fileName']
with open(filename, 'wb') as f:
    for chunk in r.iter_content(chunk_size=1024):
        f.write(chunk)
相关问题