本帖最后由 oyljerry 于 2011-10-01 15:36:36 编辑

解决方案 »

  1.   

    有了包含登陆信息的cookie就可以get那些网页的完整内容,但是cookie的保存又是个问题
      

  2.   

    可以用web浏览控件就行了,比如delphi的web控件先加载这个网页,再设计一个按钮,在手动登录好了后,就点击按钮保存网页不就OK了吗?
      

  3.   

    如果只是想要从浏览器中访问,实现自动登录,那么每次访问目标页面前,将用户名,密码Post到登录验证页面,再访问目标页面就可以了。你现在想要保存HTML信息,那么你最好能直接通过HTTP提交请求,先提交用户名和密码,解析返回的信息,成功后,再请求相应的页面,会返回给你一堆HTML,这些HTML就是你要的信息,写入文件即可,但如果还需要其中的图片、背景音乐,Flash对象等,你需要解析这个HTML DOM,得到其中的链接,然后对每个链接进行访问请求,收到的数据保存到对应的本地文件中,修改HTML对应DOM结点的相关值(完成映射)。这整个过程,是搜索引擎的一部分,属于爬数据的那部分。
      

  4.   

    保存登陆后才看的到内容的网页
    -------------------
    POST用户信息就可以了保存图片
    ---------------
    解析出img标记,直接下载就行了
      

  5.   


    可以用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接口操纵它保存页面。
    但是这样会产生历史记录什么的,不太安全。