我正在尝试获取结果网页内容,以便我可以提取显示文本。我尝试了下面的代码,但它得到的是源html,而不是结果html。
string urlPath = "http://www.cbsnews.com/news/jamar-clark-protests-follow-decision-not-to-file-charges-in-minneapolis-police-shooting/";
WebClient client = new WebClient();
string str = client.DownloadString(urlPath);
将str变量中的文本与Chrome浏览器中开发人员工具中的html进行比较,您将得到不同的结果。
任何建议都将不胜感激。
发布于 2016-03-31 02:08:46
我假设你的意思是你想要文章文本。如果是这样的话,您将需要遵循不同的行动路线。您引用的页面加载了客户端脚本,该脚本将内容加载注入到基本HTML文档中。这是通过执行客户端脚本完成的。您需要在脚本执行后解析DOM,以获得您感兴趣的内容。
发布于 2016-03-31 05:02:44
虽然你可以尝试自己解析,但最简单的方法是让真正的web浏览器为你做这件事,然后获取结果。
尤其是在C#中,最简单的解决方案是使用Windows Forms中的WebBrowser Control,它实质上将IE暴露给您的程序,允许您对其进行控制。
如果您不是在编写Windows程序,并且对无头操作更感兴趣,那么可以看看PhantomJS。它是一个无头的Webkit浏览器,可以从javascript编写脚本,并将为您提供类似的功能,尽管不是在C#中。
https://stackoverflow.com/questions/36322820
复制相似问题