从 MATLAB Web 浏览器保存 html 页面

Posted

技术标签:

【中文标题】从 MATLAB Web 浏览器保存 html 页面【英文标题】:Saving html page from MATLAB web browser 【发布时间】:2010-04-16 23:37:45 【问题描述】:

在this question 之后,我在检索到的页面上收到一条消息“您的浏览器不支持 JavaScript,因此可能缺少某些功能!

如果我在 MATLAB Web 浏览器中使用 web(url) 打开此页面并接受证书(每个会话一次),则该页面会正确打开。

如何使用脚本保存浏览器中的页面源代码?还是从系统浏览器?或者即使没有浏览器也有办法获取该页面?

url='https://cgwb.nci.nih.gov/cgi-bin/hgTracks?position=chr7:55054218-55242525';

【问题讨论】:

【参考方案1】:

据我所知,页面源下载得很好,只要确保在本地打开保存的页面时让 javascript 运行即可。

[...]
<script type='text/javascript' src='../js/hgTracks.js'></script>
<noscript><b>Your browser does not support JavaScript so some functionality may be missing!</b></noscript>
[...]

请注意,您使用的 solution 仅下载没有任何附加内容(图像、.css、.js 等)的网页。

您可以调用wget 来获取包含所有文件的页面:

url = 'https://cgwb.nci.nih.gov/cgi-bin/hgTracks?position=chr7:55054218-55242525';
command = ['wget --no-check-certificate --page-requisites ' url];
system( command );

如果您使用的是 Windows 计算机,则始终可以从 GnuWin32 项目或 many other implementations 之一获取 wget。

【讨论】:

问题是我需要选择一些额外的曲目。然后保存这些设置。浏览器的缓存或 cookie 或会话(传递了一些会话 id),不确定。我可以用浏览器设置它。但是我如何在 wget 之后使用页面呢? 我不确定我是否理解这个问题。您是否尝试传递 POST 数据并使用 cookie/session-cookies?如果是这样,请查看手册:gnu.org/software/wget/manual/html_node/HTTP-Options.html【参考方案2】:

保存 cookie 是否足以解决您的问题? wget 可以通过 --keep-session-cookies 和 --save-cookies filename 做到这一点;然后您使用 --load-cookies filename 在后续请求中获取您的 cookie。类似于以下内容(注意我没有从 Matlab 测试过,所以引用等可能不完全正确,但我确实在其他上下文中使用了类似的 shell 构造):

command_init = ['wget --no-check-certificate \
                      --page-requisites \
                      --keep-session-cookies \
                      --save-cookies cookie_file.txt \
                      --post-data \'user=X&pass=Y&whatever=TRUE\'' \
                      init_url];
command_get  = ['wget --no-check-certificate \
                      --page-requisites \
                      --load-cookies cookie_file.txt' \
                      url];

如果您没有任何发布数据,而是后续获取会更新 cookie,您可以简单地使用 keep 并保存后续获取请求。

【讨论】:

感谢您抽出宝贵时间回答这个老问题。现在几乎不记得我确实解决了这个问题。无论如何,好点。

以上是关于从 MATLAB Web 浏览器保存 html 页面的主要内容,如果未能解决你的问题,请参考以下文章

200页!分享珍藏很久的Python学习知识手册(附链接)

200页!分享珍藏很久的Python学习知识手册(附链接)

该页必须使用安全性较高的Web 浏览器查看

该页必须使用安全性较高的Web 浏览器查看

该页必须使用安全性较高的Web 浏览器查看

200页!阿里巴巴内部火爆的Python学习知识手册!拿走不谢!