我想从 Java 网站中提取整个 HTML 源代码文件(或者 Python 或 PHP,如果这些语言更容易显示的话)。我只想查看 HTML 并用几种方法扫描它——不要以任何方式编辑或操作它,我真的希望我不要将它写入新文件,除非没有其他方法。是否有任何库类或方法可以做到这一点?如果没有,有什么办法可以解决这个问题吗?
问问题
1093 次
3 回答
5
在 Java 中:
URL url = new URL("http://stackoverflow.com");
URLConnection connection = new URLConnection(url);
InputStream stream = url.openConnection();
// ... read stream like any file stream
此代码适用于脚本编写和内部使用。不过,我反对将其用于生产用途。它不处理超时和失败的连接。
我建议将HttpClient 库用于生产用途。它支持身份验证、重定向处理、线程、池等。
于 2009-12-03T03:44:10.920 回答
2
在 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 处理。
于 2009-12-03T03:41:13.127 回答
0
也许您还应该考虑一种替代方法,例如从命令行运行标准实用程序(如wget或curl )以将站点树提取到本地目录树中。然后使用本地副本进行扫描(使用 Java、Python 等)。这样做应该比自己实现所有无聊的东西(如错误处理、参数解析等)更简单。
如果您想获取站点中的所有页面,wget 和 curl 不知道如何从 HTML 页面中获取链接。另一种方法是使用开源网络爬虫。
于 2009-12-03T06:25:36.680 回答