标签: jsoup

(如何)我可以使用JSoup下载图像?

我已经知道图像的位置了,但为了简单起见,我想用JSoup本身下载图像.(这是为了简化获取cookie,推荐人等)

这是我到目前为止:

//Open a URL Stream
Response resultImageResponse = Jsoup.connect(imageLocation).cookies(cookies).ignoreContentType(true).execute();

// output here
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(new java.io.File(outputFolder + name));
//BufferedWriter out = new BufferedWriter(new FileWriter(outputFolder + name));
out.write(resultImageResponse.body());          // resultImageResponse.body() is where the image's contents are.
out.close();
Run Code Online (Sandbox Code Playgroud)

java jsoup

33
推荐指数
1
解决办法
3万
查看次数

jsoup支持xpath吗?

正在进行一些与向jsoup https://github.com/jhy/jsoup/pull/80添加xpath支持相关的工作.

  • 它有效吗?
  • 我怎么用呢?

xpath jsoup

32
推荐指数
1
解决办法
3万
查看次数

Jsoup选择具有多个类的div

我试图选择,使用Jsoup,<div>有多个类:

<div class="content-text right-align bold-font">...</div>
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这样做的语法应该是:

document.select("div.content-text.right-align.bold-font");
Run Code Online (Sandbox Code Playgroud)

但是,出于某种原因,这对我不起作用.

当我在JSFIDDLE上尝试相同的语法时,它可以毫无障碍地工作.

多类选择在Jsoup有效吗?

(我宁愿发现这是我的代码中的一个错误,而不是发现这是一个Jsoup限制:)

更新(感谢下面的答案):Jsoup与上述语法完美配合.

java jsoup

31
推荐指数
1
解决办法
2万
查看次数

连接错误:"org.jsoup.UnsupportedMimeTypeException:未处理的内容类型"

当我尝试打开一个用jsoup解析的链接时,我收到一个错误.

连接命令:

Document doc = Jsoup.connect("http://www.rfi.ro/podcast/emisiune/174/feed.xml")
                .timeout(10 * 1000).get();
Run Code Online (Sandbox Code Playgroud)

抛出的错误:

Exception in thread "main" org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml. Mimetype=application/rss+xml; charset=utf-8, URL=http://www.rfi.ro/podcast/emisiune/174/feed.xml
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:453)
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:410)
    at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:164)
    at org.jsoup.helper.HttpConnection.get(HttpConnection.java:153)
    at podcast.Pods.main(Pods.java:41)
Run Code Online (Sandbox Code Playgroud)

java httpconnection jsoup

31
推荐指数
1
解决办法
2万
查看次数

页面内容加载了JavaScript,Jsoup看不到它

页面上的一个块由JavaScript填充内容,在使用Jsoup加载页面后,没有任何信息.有没有办法在解析页面时获取JavaScript生成的内容Jsoup

无法粘贴页面代码,因为它太长了:http://pastebin.com/qw4Rfqgw

这是我需要的内容元素: <div id='tags_list'></div>

我需要用Java获取这些信息.最好使用Jsoup.元素是JavaScript的帮助领域:

<div id="tags_list">
    <a href="/tagsc0t20099.html" style="font-size:14;">?????????</a>
    <a href="/tagsc0t1879.html" style="font-size:14;">Sr</a>
    <a href="/tagsc0t3140.html" style="font-size:14;">??????????????</a>
</div>
Run Code Online (Sandbox Code Playgroud)

Java代码:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;

public class Test
{
    public static void main( String[] args )
    {
        try
        {
            Document Doc = Jsoup.connect( "http://www.bestreferat.ru/referat-32558.html" ).get();
            Elements Tags = Doc.select( "#tags_list a" );

            for ( Element Tag : Tags )
            {
                System.out.println( Tag.text() );
            }
        }
        catch ( IOException e )
        { …
Run Code Online (Sandbox Code Playgroud)

html javascript java parsing jsoup

28
推荐指数
4
解决办法
4万
查看次数

如何在JSOUP中选择此元素?

这是HTML结构:

在此输入图像描述

Element link = doc.select("div.subtabs p").first();
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.我该如何选择p

java jsoup

27
推荐指数
1
解决办法
3万
查看次数

如何使用jsoup解析HTML表?

我试图使用jsoup解析HTML.这是我第一次使用jsoup,我也阅读了一些教程.下面是我试图解析的HTML表格 -

如果你看到我的下表,它tr现在有三个(为了理解目的,我将它缩短为有三个表行,但一般情况下会更多).现在我想Cluster Name从我的下表中提取并且它是相应的host name,例如 - 我将提取Titan为集群名称及其状态为down的所有主机名.

正如你可以看到下面的Titan群集名称,我有两个主机名machineA.abc.commachineB.abc.commachineA地位up,但machineB地位down.

因此,我将打印Titan为群集名称,并打印出machineB.abc.com主机名,因为它已关闭.这可以用jsoup吗?

<table border=1>
   <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>Alert</td>
      <td>Cluster Name</td>
      <td>IP addr</td>
      <td>Host Name</td>
      <td>Type</td>
      <td>Status</td>
      <td>Free</td>
      <td>Version</td>
      <td>Restart Time</td>
      <td>UpTime(Days)</td>
      <td>Last probed</td>
      <td>Last up</td>
   </tr>
   <tr bgcolor="ffffff">
      <td><a href=showlog?ip_addr=127.0.0.1>Hist</a></td>
      <td><a href=http://127.0.0.1:8080/test?full=y>VI</a></td>
      <td bgcolor="ffffff">&nbsp</td>
      <td>Titan</td>
      <td>10.100.111.77</td>
      <td>machineA.abc.com</td>
      <td></td>
      <td bgcolor="ffffff">up</td>
      <td bgcolor="ffffff" align=right>88%</td>
      <td bgcolor="ffffff">2.0.5-SNAPSHOT</td>
      <td bgcolor="ffffff">2014-07-04 …
Run Code Online (Sandbox Code Playgroud)

html java parsing jsoup

27
推荐指数
2
解决办法
6万
查看次数

Jsoup选择并迭代所有元素

我将通过jsoup连接到一个url并获取它的所有内容,但事情是如果我选择喜欢,

doc.select("body")
Run Code Online (Sandbox Code Playgroud)

它返回一个元素,但我想获取页面中的所有元素并逐个迭代它们,例如,

<html>
<head><title>Test</title></head>
<body>
<p>Hello All</p>
<a href="test.html">Second Page</a>
<div>Test</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我选择使用正文,我会在单行中得到结果,如:

Test Hello All Second Page Test
Run Code Online (Sandbox Code Playgroud)

相反,我想选择所有元素并逐个迭代并产生结果,如,

Test
Hello All
Second Page
Test
Run Code Online (Sandbox Code Playgroud)

使用jsoup会有可能吗?

谢谢,
Karthik

java jsoup

26
推荐指数
2
解决办法
4万
查看次数

Jsoup.clean没有添加html实体

我正在<script>通过使用来清除不需要的HTML标记(例如)中的一些文本

String clean = Jsoup.clean(someInput, Whitelist.basicWithImages());
Run Code Online (Sandbox Code Playgroud)

问题是,它取代例如å&aring;(这会导致麻烦的我,因为它不是"纯XML").

例如

Jsoup.clean("hello å <script></script> world", Whitelist.basicWithImages())
Run Code Online (Sandbox Code Playgroud)

产量

"hello &aring;  world"
Run Code Online (Sandbox Code Playgroud)

但我想

"hello å  world"
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来实现这一目标?(比转换&aring;å结果更简单.)

html java html-entities jsoup

26
推荐指数
3
解决办法
3万
查看次数

如何使用Jsoup将数据发布到网站

我正在尝试将数据发布到网站上,使用Jsoup登录网站,但它不起作用?

我正在尝试代码

    Document docs = Jsoup.connect("http://some.com/login")
        .data("cmd", "login","username", "xxxx","password", "yyyyy")
        .referrer("http://some.com/login/").post();
Run Code Online (Sandbox Code Playgroud)

这里是在pagesource中提供正常的登录页面

我也尝试过代码

 Document docs = (Document) Jsoup.connect("http://some.com/login")
    .data("cmd", "login","username", "xxxx","password", "yyyyy")
    .referrer("http://some.com/login/").method(Method.POST).execute().parse();
Run Code Online (Sandbox Code Playgroud)

这里也是在pagesource中再次登录的正常页面.

任何有关相同的建议将非常感谢!!

谢谢....

java post jsoup

26
推荐指数
1
解决办法
4万
查看次数

标签 统计

jsoup ×10

java ×9

html ×3

parsing ×2

html-entities ×1

httpconnection ×1

javascript ×1

post ×1

xpath ×1