Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java从网页中提取HTML_Java_Python_Html_Webpage_Pull - Fatal编程技术网

用Java从网页中提取HTML

用Java从网页中提取HTML,java,python,html,webpage,pull,Java,Python,Html,Webpage,Pull,我想用Java、Python或PHP从网站中提取整个HTML源代码文件,如果这些语言更容易显示的话。我只希望查看HTML并用一些方法扫描它-不以任何方式编辑或操作它,我真的希望我不要将其写入新文件,除非没有其他方法。是否有任何库类或方法可以这样做?如果没有,有什么办法吗?在Python中: import urllib # Get a file-like object for the Python Web site's home page. f = urllib.urlopen("http://w

我想用Java、Python或PHP从网站中提取整个HTML源代码文件,如果这些语言更容易显示的话。我只希望查看HTML并用一些方法扫描它-不以任何方式编辑或操作它,我真的希望我不要将其写入新文件,除非没有其他方法。是否有任何库类或方法可以这样做?如果没有,有什么办法吗?

在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()
有关更多详细信息,请参阅。

在Java中:

URL url = new URL("http://stackoverflow.com");
URLConnection connection = new URLConnection(url);
InputStream stream = url.openConnection();
// ... read stream like any file stream
这段代码非常适合脚本编写和内部使用。不过,我反对将其用于生产用途。它不处理超时和连接失败


我建议将其用于生产用途。它支持身份验证、重定向处理、线程处理、池化等。

也许你也应该考虑一个替代方案,比如运行一个标准的工具,或者从命令行运行,以将站点树取到一个本地目录树中。然后使用本地副本用Java、Python进行扫描。这样做应该比自己实现所有枯燥的东西(如错误处理、参数解析等)更简单


如果您想获取站点中的所有页面,wget和curl不知道如何从HTML页面获取链接。另一种选择是使用。

我想我做错了什么。编译器告诉我不能实例化URLConnection,因为它是一个抽象类。我如何正确地实例化它,或者是否有可以实例化的URLConnection子类?我认为应该是URL hp=newURL;URLConnection hpCon=hp.openConnection;