标签: jsoup

JSoup解析HTML

我正在尝试解析一个非常好的DTD html文件,我通过JSOUP的输入流检索,并获取TD字段中的所有数据.我怎么能用JSoup做到这一点?我已经查看了http://jsoup.org/cookbook/但是我应该用som示例来启动它.

先感谢您.

我已经尝试过saxparser,但我不能让DTD工作.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-             strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl"> 
<TABLE class=personaltable cellSpacing=0 cellPadding=0> 
 <TBODY> 
  <TR class=alternativerow> 
   <TD>Nieuw beltegoed:</TD> 
   <TD>€ 1,00</TD></TR> 
  <TR> 
   <TD>Tegoed vorige periode:  
   <TD>€ 2,00</TD></TD></TR> 
  <TR class=alternativerow> 
   <TD>Tegoed tot 09-11-2011:  
   <TD>€ 10,00</TD></TD></TR> 
  <TR> 
   <TD> 
   <TD height=25></TD> 
  <TR class=alternativerow> 
   <TD>Verbruik sinds nieuw tegoed:</TD> 
   <TD>€ 0,33</TD></TR> 
  <TR> 
   <TD>Ongebruikt tegoed:</TD> 
   <TD>€ 12,00</TD></TR> 
  <TR class=alternativerow> 
   <TD class=f-Orange>Verbruik boven bundel:</TD> 
   <TD class=f-Orange>€ 0,00</TD></TR> 
  <TR> 
   <TD>Verbruik dat niet in de bundel zit*:</TD> 
   <TD>€ 0,00</TD></TR> 
  </TBODY> …
Run Code Online (Sandbox Code Playgroud)

java android html-parsing jsoup

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

JSOUP解析HTML获取类内的类

我正在开发 Android 应用程序,使用 JSOUP 来解析 HTML。

我有 HTML 语法

    <div class='wrapper'>   
<div style='margin:7px;'>
    <div class='box' style='height:595px'>
        <div class='boxtitlebox'>
            <div class='boxtitle'><h4>13 RECENT CHORDS</h4></div><div class='clear'></div>
        </div>

        <div class='listitem'><a href='http://www.chordfrenzy.com/chord/9742/ungu-apa-sih-maumu-kord-lirik-lagu'>           
            <div class='subtitle'>Chord Ungu</div>
            <div class='title'>Apa Sih Maumu</div>
        </a></div>
        <div class='listitem'><a href='http://www.chordfrenzy.com/chord/6826/slank-boneka-tersayang-kord-lirik-lagu'>           
            <div class='subtitle'>Chord Slank</div>
            <div class='title'>Boneka Tersayang</div>
        </a></div>
        <div class='listitem'><a href='http://www.chordfrenzy.com/chord/6751/ari-lasso-rayuan-gombal-kord-lirik-lagu'>          
            <div class='subtitle'>Chord Ari Lasso</div>
            <div class='title'>Rayuan Gombal</div>
        </a></div>
        </div>
</div>
 </div>
Run Code Online (Sandbox Code Playgroud)

现在,我很困惑如何获得上面的每个ahref副标题标题

我需要它来填充我的数组,如下所示

String[] link=["http://www.chordfrenzy.com/chord/9742/ungu-apa-sih-maumu-kord-lirik-lagu","http://www.chordfrenzy.com/chord/6826/slank-boneka-tersayang-kord-lirik-lagu","http://www.chordfrenzy.com/chord/6751/ari-lasso-rayuan-gombal-kord-lirik-lagu"];
String[] subtitile=["Chord Ungu","Chord Slank","Chord Ari Lasso"];
String[] title=["Apa Sih Maumu","Boneka Tersayang","Rayuan …
Run Code Online (Sandbox Code Playgroud)

parsing android html-parsing jsoup

0
推荐指数
1
解决办法
8455
查看次数

jsoup代码在Java中工作,但在Android-Nullpointerexception中不起作用

我正在尝试使用jsoup编写一个天气刮刮Android应用程序.我有使用Java编写的代码,但即使是我在android中编写的最简单的形式也会引发错误.这是我的代码的一部分:

private class Retrieve_Weather extends AsyncTask<Void, Void, String> {
    private final String TAG = "Retrieve_Weather";

    protected String doInBackground(Void... params) {

        String weatherline= "oTHErly";
        Log.i(TAG, weatherline);
        Document doc = null;
        try {
            Log.i(TAG, "trying document...");
            doc = Jsoup.connect("http://m.wund.com/cgi-bin/findweather/getForecast?brand=mobile&query=02139").get();
            Log.i(TAG, "after document");
            weatherline = "newline";
            }
        catch (IOException except) {
            Log.i(TAG, "Cannot Connect", except);   
            except.printStackTrace();
            weatherline = "Can't Connect";
            Log.i(TAG, "End stacktrace");

        }

        Log.i(TAG, weatherline);
        return weatherline;
    }

    @Override
    protected void onPreExecute() {
        Log.i(TAG, "onPreExecute");
    }

    @Override
    protected void onProgressUpdate(Void... values) { …
Run Code Online (Sandbox Code Playgroud)

java android nullpointerexception web-scraping jsoup

0
推荐指数
1
解决办法
2310
查看次数

如何使用jsoup检查HTML元素的类型

给定HTML代码段,

<div align="right">...<div>
<p class="text2">abc</p>
Run Code Online (Sandbox Code Playgroud)

我已经使用jsoup来获取具有属性的所有元素,align设置为right.现在我想选择我使用的下一个兄弟姐妹,el.nextElementSibling()

How do I verify that the next element is a p HTML element with a class of text2? I am new to jsoup and I am learning as I code. Any help would be appreciated! Thanks!

java css-selectors html-parsing jsoup

0
推荐指数
1
解决办法
2966
查看次数

修改 HTML 文件,然后获取修改后的 html 作为输出

我是 jsoup 的新手,所以我对如何将修改应用到原始 HTML 文件然后将其作为输出有点困惑。

通过选择 html 部分进行更改后

例如Element elements = doc.select("_____").attr("_____",____); (因为这个元素只有选定的部分......)

我如何将其应用到原始文档?这样我就可以获得修改后的 HTML 作为输出?

非常感谢

jsoup

0
推荐指数
1
解决办法
1224
查看次数

JSoup 不遵循重定向并且不获取某些 URL 的所有内容

Android 上的 JSoup 没有遵循重定向和/或没有获取所有内容,即使我使用 mobile.twitter.com 也是如此。我知道有可能我只是不知道我做错了什么。

我试过的网址是

https://mobile.twitter.com/BillGates/status/493831856781926402
Run Code Online (Sandbox Code Playgroud)

https://twitter.com/BillGates/status/493831856781926402
Run Code Online (Sandbox Code Playgroud)
private Document getWebPage(String url) {
        Document doc = null;        
        try {
            doc = Jsoup.connect(url).get();
        } catch (IOException e) {
            e.printStackTrace();
        }
        Log.d(TAG, "Received site: " + doc.html()); // TODO delete this debug line when done
        return doc;
    }
Run Code Online (Sandbox Code Playgroud)

java twitter android jsoup

0
推荐指数
1
解决办法
2253
查看次数

选择器完全匹配文本?

Jsoup包含:contains(text)将匹配的选择器thetextishere。如果我只想要完全匹配而不是子字符串怎么办?也就是说,我可以使用什么选择器来匹配,text但不能匹配superstringoftextishere

css-selectors jsoup

0
推荐指数
1
解决办法
1202
查看次数

Jsoup reddit scraper 429错误

所以我正在尝试使用jsoup来刮取Reddit的图像,但是当我刮掉某些subreddits如/ r/wallpaper时,我得到了429错误,我想知道如何解决这个问题.完全理解这段代码很糟糕,这是一个非常棒的问题,但我对此完全陌生.无论如何:

import java.io.IOException;

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

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import java.io.*;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jsoup.Jsoup;

import org.jsoup.nodes.Attributes;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.net.URL;
import java.util.Scanner;

public class javascraper{

public static void main (String[]args) throws MalformedURLException
{
    Scanner scan = new Scanner (System.in);
    System.out.println("Where do you …
Run Code Online (Sandbox Code Playgroud)

java reddit web-scraping jsoup

0
推荐指数
1
解决办法
1884
查看次数

如何从android上的WebView中删除<header>?

我想在webView上显示推特网站.如何删除/解除/隐藏标题("打开应用程序"消息)?

<header class="CoreLayout-header" role="banner"><div class=" AppHeader"><div class="OpenInAppBar u-cf" jsnamespace="OpenInAppBar"><div class="u-containerWithGutter"><a href="twitter://user?screen_name=nba" jsaction="click:openApp" class="OpenInAppBar-link u-textSmall u-inlineBlock">Open application</a><button class="OpenInAppBar-dismiss u-floatRight" aria-label="?????" jsaction="click:snooze" type="button"><span class="OpenInAppBar-dismissIcon u-alignMiddle Icon Icon--close" role="presentation"><img src="data:image/gif;base64,R0lGODlhFwAkAIAAAP///////yH5BAEKAAEALAAAAAAXACQAAAIbjI+py+0Po5y02ouz3rz7D4biSJbmiabqyjIFADs="><svg viewBox="0 0 46 72"><use fill="currentcolor" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/i/rw/svg/c25636093d431d0e28be32cd59239cf6/icon#icon-close"></use></svg></span></button></div></div><div class=" AppBar u-cf" data-scribe-component="top_bar" jsnamespace="AppBar"><div class="u-containerWithGutter"><h1 class="u-floatLeft"><a class="AppBar-item" aria-label="Twitter" href="/" jsaction="homeNav"><span class="AppBar-icon Icon Icon--twitter" role="presentation"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="><svg viewBox="0 0 72 72"><use fill="currentcolor" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/i/rw/svg/c25636093d431d0e28be32cd59239cf6/icon#icon-twitter"></use></svg></span></a></h1><div class="u-floatRight"><a class="AppBar-search AppBar-item" aria-label="????? ???????" href="/search" role="search" jsaction="search"><span class="AppBar-icon Icon Icon--search" role="presentation"><img src="data:image/gif;base64,R0lGODlhBwAJAIAAAP///////yH5BAEKAAEALAAAAAAHAAkAAAIHjI+py+1cAAA7"><svg viewBox="0 0 56 72"><use fill="currentcolor" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/i/rw/svg/c25636093d431d0e28be32cd59239cf6/icon#icon-search"></use></svg></span></a></div></div></div><div class=" SignUpBar"><div class="u-containerWithGutter"><div …
Run Code Online (Sandbox Code Playgroud)

html android webview jsoup

0
推荐指数
1
解决办法
4192
查看次数

JSOUP + multipart/form-data响应

下午好,

通常,我需要通过JSOUP以响应multipart/form-data的形式将数据发送到站点

例如,采用sgeniriruet您的查询的简单形式.

<form action =« localhost:8000 »method =«post»enctype =«multipart/form-data»
<input type =«text»name =«text»value =«text default»
<input type =«file»name = «file1»
<input type =«file»name =«file2»
Submit </ button
</ form

通过浏览器发布回复:

>Request Headers Provisional headers are shown Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Content-Type:multipart/form-data;
boundary=----WebKitFormBoundaryjtkXVNw9YVG1H2P9 Origin:null
Upgrade-Insecure-Requests:1 User-Agent:Mozilla/5.0 (Windows NT 6.1;
WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106
Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id:8DCCE949-56FA-4AB0-81B7-DA2BC7960E5C

->Request Payload
------WebKitFormBoundaryjtkXVNw9YVG1H2P9 Content-Disposition: form-data; name=«text»

text default
------WebKitFormBoundaryjtkXVNw9YVG1H2P9 Content-Disposition: form-data; name=«file1»; filename="" Content-Type:
application/octet-stream

------WebKitFormBoundaryjtkXVNw9YVG1H2P9 Content-Disposition: form-data; name=«file2»; filename="" Content-Type:
application/octet-stream

------WebKitFormBoundaryjtkXVNw9YVG1H2P9--
Run Code Online (Sandbox Code Playgroud)

我试图创建一个类似的请求,但没有找到正确的方法,以便服务器收到请求.

我的代码:

Map<String, …
Run Code Online (Sandbox Code Playgroud)

java post multipartform-data jsoup

0
推荐指数
1
解决办法
2672
查看次数

如何在java中的jsoup中获取输入字段的值?

我想在 Java 中使用 JSOUP 废弃在输入字段中的网页中输入的值。服务器已添加输入字段中的值。

这是网页

在 JavaScript 中,我们使用 id 选择元素,然后使用 轻松获取值.value,如下图所示。

JavaScript 数据抓取演示

这是 HTML 的样子

HTML 看起来像

我想知道如何使用 JSOUP 和 Java 来做到这一点。

java android html-parsing jsoup

0
推荐指数
1
解决办法
1666
查看次数

如何使用 JSOUP 获取 google play 商店应用程序版本?

我正在使用下面的代码通过使用 Jsoup 获取详细信息来从 Google Play 商店获取versionName,但它抛出了一些异常,但最近它工作正常。不知道现在怎么样了?

我的代码是 -

public class VersionChecker extends AsyncTask<String, String, String> {

    private String newVersion;

    @Override
    protected String doInBackground(String... params) {

        try {
            newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + ParkwayApplication.getInstance().getPackageName() + "&hl=en")
                    .timeout(30000)
                    .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
                    .referrer("http://www.google.com")
                    .get()
                    .select("div[itemprop=softwareVersion]")
                    .first()
                    .ownText();
            Log.d("otherhtml", newVersion);
        } catch (IOException e) {
            e.printStackTrace();
        }

        return newVersion;
    }
}
Run Code Online (Sandbox Code Playgroud)

注意 - 在上面的代码中,select()返回大小 0,当我调用first() 时,它将返回 null,这就是为什么会出现空指针异常。

注意 - 我不知道为什么它最近工作为什么现在不工作?

这里是我的链接试图和 …

android jsoup

0
推荐指数
1
解决办法
2135
查看次数