2024-04-25 12:02:57 发布
网友
我想从一个用Java(或者Python或PHP,如果这些语言更容易显示)的网站中提取整个HTML源代码文件。我只希望查看HTML并用一些方法扫描它-而不是以任何方式编辑或操作它,我真的希望我不写它到一个新的文件,除非没有其他方法。有没有库类或方法可以做到这一点?如果没有,有什么办法吗?在
也许您还应该考虑另一种选择,比如从命令行运行一个标准实用程序,如wget或{a2},将站点树提取到本地目录树中。然后使用本地副本进行扫描(用Java、Python等等)。这样做应该比自己实现所有无聊的东西(如错误处理、参数解析等)更简单。在
如果您想获取站点中的所有页面,wget和curl不知道如何从HTML页面获取链接。另一种方法是使用open source web crawler。在
在Java中:
URL url = new URL("http://stackoverflow.com"); URLConnection connection = new URLConnection(url); InputStream stream = url.openConnection(); // ... read stream like any file stream
这段代码对于编写脚本和内部使用都很有用。不过,我反对将其用于生产用途。它不处理超时和失败的连接。在
我建议在生产中使用HttpClient library。它支持身份验证、重定向处理、线程、池等
在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 and HTML Processing。在
也许您还应该考虑另一种选择,比如从命令行运行一个标准实用程序,如wget或{a2},将站点树提取到本地目录树中。然后使用本地副本进行扫描(用Java、Python等等)。这样做应该比自己实现所有无聊的东西(如错误处理、参数解析等)更简单。在
如果您想获取站点中的所有页面,wget和curl不知道如何从HTML页面获取链接。另一种方法是使用open source web crawler。在
在Java中:
这段代码对于编写脚本和内部使用都很有用。不过,我反对将其用于生产用途。它不处理超时和失败的连接。在
我建议在生产中使用HttpClient library。它支持身份验证、重定向处理、线程、池等
在Python中:
有关详细信息,请参见Python and HTML Processing。在
相关问题 更多 >
编程相关推荐