有偿征集思路,一个采集网页的模块如何支持登录后保存网页?

flamkuavos 2011-09-29 02:32:36
开发环境:VC6,xp,要求做成DLL

需求:
现有一个管理程序,需要登陆某网站,并保存某些网页(html、图片),这些网页的内容需要登录后才可以看到完整内容。已知需要登陆网站的用户名和密码。

难点:
保存登陆后才看的到内容的网页就是个开发难题,再把图片也保存下来也要点小难度(类似于ie的系统菜单“页面”“另存为”“网页,全部”功能,保存后的html和图片打开后还是显示比较完整的网页)。

就这两个难点,请提供完整有效的思路。支付宝给您付费喔,费用付给思路最可靠完善的那一位。可以加我qq私聊:1780529162
...全文
207 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
TearyWang 2011-09-30
  • 打赏
  • 举报
回复
如果只是想要从浏览器中访问,实现自动登录,那么每次访问目标页面前,将用户名,密码Post到登录验证页面,再访问目标页面就可以了。

你现在想要保存HTML信息,那么你最好能直接通过HTTP提交请求,先提交用户名和密码,解析返回的信息,成功后,再请求相应的页面,会返回给你一堆HTML,这些HTML就是你要的信息,写入文件即可,但如果还需要其中的图片、背景音乐,Flash对象等,你需要解析这个HTML DOM,得到其中的链接,然后对每个链接进行访问请求,收到的数据保存到对应的本地文件中,修改HTML对应DOM结点的相关值(完成映射)。

这整个过程,是搜索引擎的一部分,属于爬数据的那部分。
keniv 2011-09-30
  • 打赏
  • 举报
回复
可以用web浏览控件就行了,比如delphi的web控件先加载这个网页,再设计一个按钮,在手动登录好了后,就点击按钮保存网页不就OK了吗?
辰岡墨竹 2011-09-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 tr0j4n 的回复:]

保存登陆后才看的到内容的网页
-------------------
POST用户信息就可以了

保存图片
---------------
解析出img标记,直接下载就行了
[/Quote]

可以用WinINet或者Windows HTTP来做。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa385331.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384273.aspx

推荐后者,可以方便管理Cookies、SSL等等。密码一般Post(注意可能要带SSL)就可以了。
不过这样并不能解析页面,
解析页面可以参考这两个工程:
http://www.codeproject.com/KB/IP/mhtmllib.aspx
http://www.codeproject.com/KB/files/MhtBuilder.aspx

不过更简单的方式是通过COM创建一个不可见的IE Application,并通过COM接口操纵它保存页面。
但是这样会产生历史记录什么的,不太安全。
jianuMan 2011-09-30
  • 打赏
  • 举报
回复
20$?
MoXiaoRab 2011-09-30
  • 打赏
  • 举报
回复
保存登陆后才看的到内容的网页
-------------------
POST用户信息就可以了

保存图片
---------------
解析出img标记,直接下载就行了
flamkuavos 2011-09-29
  • 打赏
  • 举报
回复
有了包含登陆信息的cookie就可以get那些网页的完整内容,但是cookie的保存又是个问题
mxzy55560593 2011-09-29
  • 打赏
  • 举报
回复
好难得看见RMB贴..

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧