繁体   English   中英

从Java网页中提取HTML

[英]Pulling HTML from a Webpage in Java

我想从一个Java网站(或Python或PHP,如果使用这些语言更容易显示)中提取整个HTML源代码文件。 我只希望查看HTML并使用几种方法进行浏览-而不是以任何方式进行编辑或操作,并且我真的希望除非没有其他方法,否则不要将其写入新文件。 是否有任何执行此操作的库类或方法? 如果没有,有什么办法解决吗?

在Java中:

URL url = new URL("http://stackoverflow.com");
URLConnection connection = new URLConnection(url);
InputStream stream = url.openConnection();
// ... read stream like any file stream

此代码非常适合脚本编写和内部使用。 我会反对将其用于生产。 它不处理超时和连接失败。

我建议将HttpClient库用于生产。 它支持身份验证,重定向处理,线程,池等。

在Python中:

import urllib
# Get a file-like object for the Python Web site's home page.
f = urllib.urlopen("http://www.python.org")
# Read from the object, storing the page's contents in 's'.
s = f.read()
f.close()

请参阅Python和HTML处理以获取更多详细信息。

也许您还应该考虑使用另一种方法,例如从命令行运行标准实用程序(如wgetcurl) ,以将站点树提取到本地目录树中。 然后使用本地副本进行扫描(使用Java,Python等)。 这样做比自己实现所有无聊的事情(例如错误处理,参数解析等)要简单得多。

如果要获取站点中的所有页面,则wget和curl不知道如何从HTML页面中获取链接。 一种替代方法是使用开源Web搜寻器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM