DEMO网址:http://www.365rss.cn/WebSnap.aspx
更新:
1,可以抓取大部分的网站,很少几率(暂未发现)返回空白图片。
2,超越Snap.com!比如
http://blog.sina.com.cn/u/1268465345,Snap.com抓的图主题内容“还在载入中。。。”,WebPreview直接抓全。
3,解决抓sina.com.cn等网站时候出现的弹窗问题。
4,优化效率,提高速度
下一步目标:
1,实现js特效。
关于原理,大家可以去
http://www.cnblogs.com/Chinasf/archive/2006/12/25/603294.html 看。
我发现“”的水平已经很high了,他的底层代码很地道,工作起来一丝不苟。再赞!同时为有这样一个老乡感到骄傲。
因为要的人太多了,我暂时放在博客园给大家下载:
WebPreview1.1.rar_by_Kai.Ma.rar
学习中有任何问题,可以留言或给我发Email讨论,我会及时回复的。
posted on 2006-12-25 23:29
Kai.Ma 阅读(5941)
评论(142) 编辑 收藏 所属分类:
在线生成网页缩略图(WebSnap)
评论:
#1楼
2006-12-25 23:44 |
非常感谢Kai.Ma的工作:):。请给我一份:
ColorSMH@msn.com
回复 引用 查看
#3楼
2006-12-25 23:54 |
chinasf at hotmail.com
给我一份,我也来学习一下,希望做的更完善;不过可能还是会有问题;
先提出几个.
1.不知道你的做了缓存没有.
2.目标页如果有JS错误,如果IE弹出错误对话框,下载页将被阻止,不知道这个情况你遇到过没.
回复 引用 查看
#4楼
2006-12-26 00:11 |
希望得到源代码,谢谢,我的邮箱是eunge.liu#gmail.com
回复 引用 查看
#5楼 [
楼主]
2006-12-26 00:11 |
@萧寒
1,缓存没有做喔,怎么做?
2,这个可以通过给WebBrowser的NewWindow事件设置代理,将代理引用下面的函数设置
//防止弹窗
public void CancelEventHandler(object sender,System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
}
js错误还没碰到。
回复 引用 查看
#6楼 [
楼主]
2006-12-26 00:16 |
#7楼
2006-12-26 00:26 |
@Kai.Ma
收到你的代码了,建议改动一下:
if (!System.IO.File.Exists(physicsFold + fileName))
把这个修改为按文件过期时间来决定是否更新.
可以搞一个hashtable ,记录如下结构:
hashTable[doMain_URL] = updateTime;
根据上次的时间间隔更新它就可以了.
回复 引用 查看
#8楼 [
楼主]
2006-12-26 00:28 |
#9楼
2006-12-26 00:29 |
mine1202@gmail.com
3q
回复 引用
#10楼
2006-12-26 00:42 |
gdcxs457@163.com
在.net1.1下用AxWebBrowser 实现过,但是遇到大网页或网速慢的时候,cpu占用超高,也给我一份学习学习,谢谢
回复 引用
#11楼
2006-12-26 00:42 |
一个建议,有的网站内容比较多,尤其是图片、视频等,如果要等到这个网页完全load完成再截屏,图片可能很长时间都会出不来
建议设定一个时间间隔,到了这个时间间隔不管网页有没有完成load,就输出图片。大部分情况下,一定时间之后页面的大体布局是已经出来了的,只是里面的一些图片等其它控件没有加载完成。
回复 引用 查看
#12楼
2006-12-26 00:45 |
@ RicCC
到是可以增加一个超时进去.
可能无法保证浏览器能显示出内容,可能是白屏幕;
回复 引用 查看
#13楼
2006-12-26 00:48 |
lswweb@gmail.com 谢谢
回复 引用
#14楼
2006-12-26 00:52 |
测了下,效果不错,原来有看过这种程序,想学习下,
邮箱muse_er@163.com 谢谢
回复 引用
#15楼
2006-12-26 01:00 |
sherwinzhu
sherwinzhu@126.com
谢谢!
回复 引用
#16楼
2006-12-26 01:06 |
evolution124@gmail.com
谢谢你
回复 引用
#17楼
2006-12-26 07:56 |
yibin.net@gmail.com
Thx!
回复 引用
#18楼
2006-12-26 07:57 |
麻烦给我一份,谢谢!
abeen8298@gmail.com
回复 引用 查看
#19楼
2006-12-26 08:04 |
麻烦给我一份,Thank you!
leeichang@gmail.com
回复 引用 查看
#20楼
2006-12-26 08:06 |
好东西
Inotgod@gmail.com
回复 引用 查看
#21楼
2006-12-26 08:10 |
我也想要一份研究研究
kiler398@163.com
回复 引用 查看
#22楼
2006-12-26 08:10 |
希望LZ上传源代码,免得一个一个发,很辛苦的。
回复 引用 查看
#23楼
2006-12-26 08:12 |
顶!
我对这也感兴趣,麻烦给我一份,谢谢!
pzy@tosoho.net
回复 引用
#24楼
2006-12-26 08:12 |
希望学习一下,看看好的网站到底是什么样子的,
yuandong1222@gmail.com
谢谢:)
回复 引用 查看
#25楼
2006-12-26 08:13 |
嚴正的贊一個﹐希望樓主繼續堅持下去!
chensss2008@gmail.com
回复 引用
#26楼
2006-12-26 08:16 |
效果不错,谢谢。
lantingyixu@163.com
回复 引用 查看
#27楼
2006-12-26 08:27 |
俺也想学习一下,谢谢
hjf73015@163.com
回复 引用 查看
#28楼
2006-12-26 08:29 |
也给我来一份吧,谢谢!
submaie@gmail.com
回复 引用 查看
#29楼
2006-12-26 08:31 |
很不错,能发一份给我研究下吗?
lxg@gdcn.com
回复 引用 查看
#30楼
2006-12-26 08:34 |
发给我一份吧 谢谢! idazhi@gmail.com
回复 引用
#31楼
2006-12-26 08:34 |
给我一份吧,谢谢,也想学习研究一下
livedevil[2]gmail.com
回复 引用 查看
#32楼
2006-12-26 08:35 |
很不错啊,请给我一份。elivehai@163.com
回复 引用
#33楼
2006-12-26 08:37 |
实现的很不错,可不可以发给我一份,谢谢!
cch345@126.com
回复 引用
#34楼
2006-12-26 08:38 |
来晚了
linlibinmail@163.com
回复 引用 查看
#35楼
2006-12-26 08:39 |
放一份源代码上来吧,省的麻烦
dlwang2002@hotmail.com
回复 引用 查看
#36楼
2006-12-26 08:40 |
非常非常谢谢.
dianshijin@gmail.com
回复 引用
#37楼
2006-12-26 08:42 |
前一個月,才聽朋友說,要這麼一個功能,問怎么實現的,這才一個月,在園子里就看到了。好想研究研究。給我一份rivensun@163.com
回复 引用
#39楼
2006-12-26 08:43 |
admin[at]5inet.net
想看看webbrowser怎么在web里调用。来份吧。谢谢。
回复 引用 查看
#41楼
2006-12-26 08:44 |
满好,学习
zrc000@gmail.com
Thanks a lot
回复 引用 查看
#43楼
2006-12-26 08:50 |
lcg200x@126.com十分感谢
回复 引用
#44楼
2006-12-26 08:51 |
很感兴趣,想研究研究,先谢啦 wufujie2000@163.com
回复 引用 查看
#45楼
2006-12-26 08:51 |
感谢~~~~~~`学习一下
ddee_luozaiqian@sohu.com
回复 引用
#46楼
2006-12-26 08:52 |
我也要一份源码,学习学习
jxdong1013@gmail.com
回复 引用
#47楼
2006-12-26 08:52 |
Databinder@163.com
看原理,有相关文档么?
回复 引用 查看
#48楼
2006-12-26 08:58 |
tigerjacky@21cn.com
谢谢,有相关的注释么?
回复 引用 查看
#51楼
2006-12-26 09:01 |
希望可以学习。110990825@163.com
回复 引用 查看
#52楼
2006-12-26 09:02 |
guihuantianshi@126.com
谢谢
回复 引用
#54楼
2006-12-26 09:03 |
zlrex.fstone@gmail.com
研究一下,谢谢。
回复 引用 查看
#56楼
2006-12-26 09:05 |
请email我一份学习:hero_jack@163.com
谢谢
回复 引用
#57楼
2006-12-26 09:06 |
shoucao_66@hotmail.com
谢谢
回复 引用 查看
#58楼
2006-12-26 09:06 |
学习
tengjun.xia@gmail.com
thks.
回复 引用 查看
#59楼
2006-12-26 09:09 |
感谢LZ,正好需要这个
sohoer2003@gmail.com
回复 引用
#60楼
2006-12-26 09:10 |
oceanchip at gmail.com
Thank you!
回复 引用 查看
#61楼
2006-12-26 09:11 |
发给我一份吧 谢谢! wengjinbao@gmail.com
回复 引用 查看
#62楼
2006-12-26 09:11 |
3Q
学习一下
delta8cat {at} gmail.com
回复 引用 查看
#63楼
2006-12-26 09:12 |
给我一份源码,谢谢拉
prolibertine@gmail.com
回复 引用 查看
#64楼
2006-12-26 09:13 |
mfking422@sohu.com 多谢多谢
回复 引用
#65楼
2006-12-26 09:13 |
确实不错
boyle0410@163.com
回复 引用
#66楼
2006-12-26 09:15 |
学习以下
wangyang@mainone.cn
回复 引用
#67楼
2006-12-26 09:15 |
biao_zeng@126.com 给我一份
回复 引用
#68楼
2006-12-26 09:15 |
LZ,我看还是传一份上来比较好,需要的人太多了。
邮箱:yuanlfrj@163.com
回复 引用
#69楼
2006-12-26 09:16 |
非常感谢Kai.Ma的工作:):。请给我一份:
cxbsky@hotmail.com
谢谢
回复 引用 查看
#70楼
2006-12-26 09:18 |
想学习一下,谢谢!
planforekong@hotmail.com
回复 引用
#71楼
2006-12-26 09:20 |
想要一份学习一下。
劳烦发一份到 91kejian@gmail.com
回复 引用
#72楼
2006-12-26 09:21 |
很不错的,很想学习一下,麻烦楼主,我也来一份,谢谢
everysun@gmail.com
回复 引用
#74楼
2006-12-26 09:25 |
好像页面中有flash对象的话,抓取的时候很慢。
回复 引用
#76楼
2006-12-26 09:28 |
学习
rredwolf@gmail.com
回复 引用 查看
#77楼
2006-12-26 09:28 |
需要一份学习,非常感谢!
wenyicom@gmail.com
回复 引用
#78楼 [
楼主]
2006-12-26 09:29 |
#79楼
2006-12-26 09:32 |
谢谢分享~!
jeanso@163.com
回复 引用
#80楼
2006-12-26 09:32 |
xiaobao007@hotmail.com
谢谢
回复 引用
#81楼
2006-12-26 09:38 |
能分享给我吗?我急需webservice的实例
yumingguo@126.com
回复 引用 查看
#82楼
2006-12-26 09:40 |
多谢分享
redwolf_123@163.com 谢谢
回复 引用
#83楼
2006-12-26 09:40 |
希望学习一下
franck.gao@gmail.com
回复 引用 查看
#84楼
2006-12-26 09:42 |
希望得到源代码,谢谢,我的邮箱是raiseyu@gmail.com
回复 引用
#86楼
2006-12-26 09:45 |
fengleiguo@msn.com
谢谢
回复 引用
#87楼
2006-12-26 09:46 |
asporaspdotnet@gmail.com
谢谢
回复 引用
#88楼
2006-12-26 09:46 |
我也想要学习学习,希望能得到源代码,谢谢。我的邮箱是didasoft@gmail.com。
回复 引用 查看
#89楼
2006-12-26 09:46 |
发我一份吧,谢谢!
fby001_wangdui@163.com
回复 引用
#91楼 [
楼主]
2006-12-26 09:53 |
好了,大家不要再留下email了,我已经传到放在博客里面,大家可以刷新,点击链接下载了
回复 引用 查看
#92楼
2006-12-26 09:53 |
人才啊!本人虽搞了好几年.net,但这样的炫的东西都是搞不明白的,也麻烦发个源码给我看看,多谢!!
kaifangwife@hotmail.com
回复 引用
#93楼
2006-12-26 09:54 |
学习一下
scfido@gmail.com
回复 引用
#94楼 [
楼主]
2006-12-26 09:55 |
#96楼
2006-12-26 10:01 |
JS错误是指:在抓页面时,目标页面发生了JS错误,导致需要干预后,才能正常结束页面呈现的工作。否则页面不显示出来,也谈不上抓取。
我的邮箱是: Edwin0220#hotmail.com, 谢谢
回复 引用 查看
#98楼
2006-12-26 10:14 |
Bin下面的dll才是关键阿,呵呵,那么怎么不开源啊?
回复 引用 查看
#99楼 [
楼主]
2006-12-26 10:22 |
@萧寒
好的,我更新一下Snapshot类。
js error dialog的问题,我觉得:
1,_wb.ScriptErrorsSuppressed = false;可以解决大部分问题。这个你在之前的代码中就写了~:)
2,同样可以通过 事件+代理 解决
webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(documentCompletedEventHandler);
private void documentCompletedEventHandler(object sender, WebBrowserDocumentCompletedEventArgs e)
{
((WebBrowser)sender).Document.Window.Error += new HtmlElementErrorEventHandler(SuppressScriptErrorsHandler);
}
//压制js错误
public void SuppressScriptErrorsHandler(object sender, HtmlElementErrorEventArgs e)
{
e.Handled = true;
}
我觉得第一个就可以处