java.net.URLConnection在这里经常询问使用情况,Oracle教程对此非常简洁.
该教程基本上只显示了如何触发GET请求并读取响应.它没有解释如何使用它来执行POST请求,设置请求标头,读取响应标头,处理cookie,提交HTML表单,上传文件等.
那么,我如何使用java.net.URLConnection触发和处理"高级"HTTP请求?
有没有一种从Java字符串中删除HTML的好方法?一个简单的正则表达式
replaceAll("\\<.*?>","")
Run Code Online (Sandbox Code Playgroud)
会工作,但&不会正确转换,两个尖括号之间的非HTML将被删除(即.*?正则表达式将消失).
我希望能够获取一个网页的html并将其保存到一个String,所以我可以对它进行一些处理.另外,我如何处理各种类型的压缩.
我将如何使用Java进行此操作?
有没有人知道是否以及如何以编程方式搜索Google - 特别是如果有Java API?
我是java的新手,想在java中使用curl.我的问题是我在java中内置的curl,或者我必须从任何第三方源安装它以与Java一起使用.如果是这样,如何在java中安装curl.我已经谷歌搜索了很长时间,但没有找到任何帮助.希望任何人都可以帮助我.
提前致谢.
我正在开发一个从网站上删除数据的应用程序,我想知道如何获取数据.具体来说,我需要包含在许多使用特定CSS类的div标签中的数据 - 目前(用于测试目的)我只是在检查
div class = "classname"
Run Code Online (Sandbox Code Playgroud)
在HTML的每一行 - 这是有效的,但我不禁觉得那里有更好的解决方案.
有没有什么好方法我可以给一个类一行HTML并有一些很好的方法,如:
boolean usesClass(String CSSClassname);
String getText();
String getLink();
Run Code Online (Sandbox Code Playgroud) 好吧,我正在试图弄清楚如何从网页中提取信息,并将其带入我的程序(用Java).
例如,如果我知道我想要信息的确切页面,为了简单起见,Best Buy项目页面,我如何从该页面获得我需要的相应信息?喜欢标题,价格,描述?
这个过程甚至会被称为什么?我不知道甚至开始研究这个.
编辑:好的,我正在为JSoup(由BalusC发布的那个)运行测试,但我一直收到这个错误:
Exception in thread "main" java.lang.NoSuchMethodError: java.util.LinkedList.peekFirst()Ljava/lang/Object;
at org.jsoup.parser.TokenQueue.consumeWord(TokenQueue.java:209)
at org.jsoup.parser.Parser.parseStartTag(Parser.java:117)
at org.jsoup.parser.Parser.parse(Parser.java:76)
at org.jsoup.parser.Parser.parse(Parser.java:51)
at org.jsoup.Jsoup.parse(Jsoup.java:28)
at org.jsoup.Jsoup.parse(Jsoup.java:56)
at test.main(test.java:12)
Run Code Online (Sandbox Code Playgroud)
我有Apache Commons
丰富的HTML解析器可供选择(并坚持使用)令人难以置信:
http://java-source.net/open-source/html-parsers
如何选择最符合以下要求的产品:
根据您的经验,您会推荐哪种HTML解析器(满足上述要求)以及原因?
我正在使用java程序中的XPath从HTML页面中抓取值来获取特定标记,偶尔使用正则表达式来清理我收到的数据.
经过一些研究,我登陆HTML Cleaner(http://htmlcleaner.sourceforge.net/)作为将原始HTML解析为良好XML格式的最可靠方法.但是,HTML Cleaner只支持XPath 1.0,我发现自己需要像'contains'这样的功能.例如,在这段XML中:
<div>
<td id='1234 foo 5678'>Hello</td>
</div>
Run Code Online (Sandbox Code Playgroud)
我希望能够通过以下XPath获取文本"Hello":
//div/td[contains(@id, 'foo')]/text()
Run Code Online (Sandbox Code Playgroud)
有没有办法获得这个功能?我有几个想法,但如果我不需要,我宁愿不重新发明轮子:
简短的问题:有没有办法在现有的Java库中使用HTML包含HTML?
Boilerpipe似乎工作得很好,但我意识到我不仅需要主要内容,因为许多页面没有文章,只有一些简短的描述链接到整个文本(这在新闻门户网站中很常见)和我不想丢弃这些短文.
因此,如果API执行此操作,请获取不同的文本部分/块以不同于单个文本的某种方式分割每个文本部分(仅在一个文本中都没有用),请报告.
我从随机网站下载了一些页面,现在我想分析页面的文本内容.
问题是网页有很多内容,如菜单,宣传,横幅等.
我想尝试排除与页面内容无关的所有内容.
以此页面为例,我不希望上面的菜单既不是页脚中的链接.
重要提示:所有页面都是HTML,是来自各种不同网站的页面.我需要建议如何排除这些内容.
目前,我认为从HTML中删除"menu"和"banner"类中的内容以及看起来像正确名称(第一个大写字母)的连续单词.
解决方案可以基于文本内容(没有HTML标记)或HTML内容(使用HTML标记)
编辑:我想在我的Java代码中执行此操作,而不是外部应用程序(如果可以的话).
我尝试了解析此问题中描述的HTML内容的方法:https://stackoverflow.com/questions/7035150/how-to-traverse-the-dom-tree-using-jsoup-doing-some-content-filtering
java ×10
html ×4
html-parsing ×2
http ×2
jsoup ×2
parsing ×2
web-scraping ×2
android ×1
compression ×1
curl ×1
httprequest ×1
xpath ×1