2 armstrongw armstrongw 于 2014.12.10 14:51 提问

C# 网页抓取保存为图片

给个网址,然后把整个网页以图片的形式保存到本地
要求 :
1. 要保存的是整个网页,从头到尾
2、如果网页超出屏幕,请模拟下拉滚动条至网页底部,待网页所有元素加载完毕后,再保存

4个回答

caozhy
caozhy   Ds   Rxr 2014.12.10 18:00

这个需求对于那些所谓“瀑布流”方式加载的网页,典型的,新浪微博和google图片搜索结果,它下拉下来是无限长的,而你的内存不是无限大的,一下子就把你的程序搞死了。

caozhy
caozhy 回复armstrongw: 这个需要编写浏览器内核,即便用webkit这样的框架,预算也不是个小数。我只是觉得你在免费的论坛寻求解答说明你对这个需求的成本根本没有考虑过。
接近 3 年之前 回复
armstrongw
armstrongw 回复caozhy: 我们是给自己做东西,需求我很清楚·
接近 3 年之前 回复
caozhy
caozhy 回复armstrongw: 你需要充分和你的客户沟通,而不是简单把客户的描述就当作“需求”。
接近 3 年之前 回复
armstrongw
armstrongw 需求是要把预加载的东西都保存出来,比如sina.com首页 这样的。
接近 3 年之前 回复
showbo
showbo   Ds   Rxr 2014.12.10 15:03
armstrongw
armstrongw 哥们 这个是不可以的。ReadyState==WebBrowserReadyState.Complete对那种使用了懒加载技术的网站是无效的,好多网站的图片是后来加载的,但是state的值已经是compelete.
接近 3 年之前 回复
armstrongw
armstrongw   2014.12.12 13:47

现在的问题是如何判断一个网站完全打开,包括所有的图片已经打开。

armstrongw
armstrongw   2014.12.12 13:59
    while (MyControl.ReadyState != WebBrowserReadyState.Complete)
        {
            Application.DoEvents();
        }
                    将文字类的都能加载上来,可是遇到懒加载的网站就图片就加不出来。
Csdn user default icon
上传中...
上传图片
插入图片