none
c#抓取怎么完整抓取网页内容。图片、文字格式和网页一样,放置到richtextbox中 RRS feed

  • 问题

  • 我现在做到的是获取了网页的html文,通过正则表达式筛选出了正文,但是内容字体和图片那些都没有,我想要的效果是把文字的字体样式和图片的环绕效果也复制一遍,和原先网页布局一样,请问这个要如何实现。
    2017年5月21日 13:01

答案

  • HtmlToRichTextbox 这个dll所提供的方法是我想要实现,但是它好像是针对了sliverlight,我在wpf中引用的时候,会出现The type'RichTextBox' is defined in an assembly that is not referenced.You must add a  reference to assembly 'System.Windows,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e'. 这个问题 我尝试了搜索相关答案,最后有一种解答是说sliverlight和wpf程序集引用,必须要分别编译,是这样的吗?

    Hi,

    抱歉,我没有注意到HtmlToRichTextbox 是 sliverlight编写的, sliverlight和WPF程序集使用的不是同一套SDK, 两者是不能混用的。 你参考这个来编写WPF可以使用的代码。

    另外,请参考下面这个链接。

    Converting between RTF and HTML

    https://code.msdn.microsoft.com/Converting-between-RTF-and-aaa02a6e

    Best Regards,

    Bob



    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 大星 2017年7月21日 1:26
    2017年5月29日 7:52
    版主

全部回复

  • 用HttpClient下载网页,将网页保存为本机html文件,再用webbrowser控件显示网页,WPF可考虑CefSharp


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2017年5月21日 23:59
  • 不是的,我并不是想显示网页,而是只获取网页正文内容,最后,比如保存成pdf格式的文档。
    2017年5月22日 0:34
  • Hi,

    你可以借助一些第三方开源工具,请参考以下工具:

    Html To RichTextBox

    http://htmltorichtextbox.codeplex.com/

    XHTML2RTF: An HTML to RTF conversion tool based on XSL

    https://www.codeproject.com/Articles/7087/XHTML-RTF-An-HTML-to-RTF-conversion-tool-based-on

    使用webbrowser控件来操作:

    Parsing HTML to get content using C#

    http://stackoverflow.com/questions/2038104/parsing-html-to-get-content-using-c-sharp

    Displaying HTML in a WPF RichTextBox

    https://www.codeproject.com/Articles/1097390/Displaying-HTML-in-a-WPF-RichTextBox

    How do I convert HTML to RTF (Rich Text) in .NET without paying for a component?

    http://stackoverflow.com/questions/2627991/how-to-show-html-contents-with-a-richtextbox

    Best Regards,

    Bob


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年5月22日 2:00
    版主
  • HtmlToRichTextbox 这个dll所提供的方法是我想要实现,但是它好像是针对了sliverlight,我在wpf中引用的时候,会出现The type'RichTextBox' is defined in an assembly that is not referenced.You must add a  reference to assembly 'System.Windows,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e'. 这个问题 我尝试了搜索相关答案,最后有一种解答是说sliverlight和wpf程序集引用,必须要分别编译,是这样的吗?
    2017年5月26日 3:57
  • HtmlToRichTextbox 这个dll所提供的方法是我想要实现,但是它好像是针对了sliverlight,我在wpf中引用的时候,会出现The type'RichTextBox' is defined in an assembly that is not referenced.You must add a  reference to assembly 'System.Windows,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e'. 这个问题 我尝试了搜索相关答案,最后有一种解答是说sliverlight和wpf程序集引用,必须要分别编译,是这样的吗?

    Hi,

    抱歉,我没有注意到HtmlToRichTextbox 是 sliverlight编写的, sliverlight和WPF程序集使用的不是同一套SDK, 两者是不能混用的。 你参考这个来编写WPF可以使用的代码。

    另外,请参考下面这个链接。

    Converting between RTF and HTML

    https://code.msdn.microsoft.com/Converting-between-RTF-and-aaa02a6e

    Best Regards,

    Bob



    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 大星 2017年7月21日 1:26
    2017年5月29日 7:52
    版主