我的原始任务是将多个科学出版物下载为html文件。目前我的script以chrome格式下载文件,但它会在firefox中使用url。但这不是我的问题。
如果您看到下载的html源代码,您会发现并非所有内容都已下载。只有部分内容显示在下载的html文件中。那是我的问题。为什么我无法在下载的html文件中获取整个html文档内容。我想下载的文件是这个
var links = [
'http://www.sciencedirect.com/science/article/pii/S2078152015000516'
];
我想可能是因为CORS问题。但是,在实现CORS脚本之后,它仍然在responseText中显示部分下载的内容。
任何帮助将不胜感激。
另外,如果有人可以告诉我为什么在firefox中,脚本不会下载文件并转到我的网址。
答案 0 :(得分:1)
您无法下载整个页面的原因是因为页面仅加载一半,其余部分在您向下滚动时动态添加。
因此,当您尝试下载页面时,只会收到没有动态部分的初始加载的一半。
因为它是使用javascript完成的,所以这个特定的网站为您提供了一个替代方案,以防您禁用javascript并且不想/无法启用它(例如使用阅读器):
如果您查看页面的来源,可以在正文的最开头找到以下消息框:
<div class="ua_btn" role="region" aria-label="screen reader compatability">
<a role="button" rel="nofollow" href="http://www.sciencedirect.com/science/article/pii/S2078152015000516?np=y">
Screen reader users, click here to load entire article
</a>
This page uses JavaScript to progressively load the article content as a user scrolls.
Screen reader users, click the load entire article button to bypass dynamically loaded article content.
</div>
这里为您提供了一个包含查询部分"np=y"
的链接,该链接会覆盖动态加载并立即初始化整个页面:
http://www.sciencedirect.com/science/article/pii/S2078152015000516?np=y
使用此链接下载artice,它将起作用。
<强>火狐:强>
如评论中所述,由于潜在的安全风险,firefox不支持设计CORS下载。有关它的更多信息,请Here