首页 \ 问答 \ 如何使用Jsoup从html文件中获取特定数据?(How to get specific data from a html file using Jsoup?)

如何使用Jsoup从html文件中获取特定数据?(How to get specific data from a html file using Jsoup?)

我正在使用当地语言新闻报纸的html文件,我想收集新闻报道中仅使用当地语言的所有单词

我在html文件中观察到本地语言中的所有单词都在class field-content的div元素下,所以我选择了它的元素来获取数据,但div元素也包含像本地语言单词存在的元素

<div class = "field-content"></div>

那么如何从html文件中只获取本地语言的单词

该网站的网址: http//www.andhrabhoomi.net/

我的代码:

public static void main(String a[])
        {
            Document doc;
            try {
                 doc = Jsoup.connect("http://www.andhrabhoomi.net/").userAgent("Mozilla").get();
                 String title = doc.title();

                 System.out.println("title : " + title);

                    // get all links
                    //Elements links = doc.select("a[href]");

                    Elements body = doc.select("div.field-content");

                    for (Element link : body) {

                        System.out.println(link);


    // get the value from href attribute
                        //System.out.println("\nlink : " + link.attr("href"));
                        //System.out.println("text : " + link.text());
                    }

            }catch(IOException e){
                System.out.println("error\n");

            }
        }

I am having a html file of a local language news paper and i want to collect all the words in the news paper which are in local language only

I have observed in the html file that all the words in the local language are under a div element of class field-content so i have selected its element to get data but the div element is also containing elements like inside which the local language words exist

<div class = "field-content"></div>

so how to get only the words of the local language from the html file

url of the site: http://www.andhrabhoomi.net/

my code:

public static void main(String a[])
        {
            Document doc;
            try {
                 doc = Jsoup.connect("http://www.andhrabhoomi.net/").userAgent("Mozilla").get();
                 String title = doc.title();

                 System.out.println("title : " + title);

                    // get all links
                    //Elements links = doc.select("a[href]");

                    Elements body = doc.select("div.field-content");

                    for (Element link : body) {

                        System.out.println(link);


    // get the value from href attribute
                        //System.out.println("\nlink : " + link.attr("href"));
                        //System.out.println("text : " + link.text());
                    }

            }catch(IOException e){
                System.out.println("error\n");

            }
        }

原文:https://stackoverflow.com/questions/36017445
更新时间:2019-12-03 08:12

最满意答案

不知道你在这之后是什么,但如果我猜对了,这应该会有所帮助。 如果没有,请说出来,我们将从那里开始。

您只想通过获取具有field-content任何类来更改您的选择,然后删除所有其他HTML内容,您需要将text()添加到System.out.println( link.text() );的末尾System.out.println( link.text() ); 见下文。

Elements body = doc.getElementsByClass( "field-content" );

for( Element link : body )
{
    System.out.println( link.text() );
}

Not sure what you are after here, but if my guess is right this should help. If not, just say so and we'll go from there.

You'll want to change your selection by getting just any classes that have field-content and then to get rid of all the other HTML content, you'll want to add text() onto the end of your System.out.println( link.text() ); See below.

Elements body = doc.getElementsByClass( "field-content" );

for( Element link : body )
{
    System.out.println( link.text() );
}
2016-03-15

相关问答

更多

为什么在Obj-c中不能让自己引用当前的类?(Why in Obj-c is not possible to leave self to reference the current Class?)

[self doStuff]中的[self doStuff]表示要调用方法的目标对象。 在你self以外的目标上调用方法是完全合理的(事实上,非常常见): NSObject *obj = ... [obj doStuff]; self恰好就是这样一个目标。 从语言设计的角度来看:可以想象[doStuff]可以成为[self doStuff]的简写,但这将是一个非常奇怪的特殊情况(这可能会导致一些语法歧义!),而且没有必要。 The self in [self doStuff] indicate

为什么我的超类调用我的子类方法?(Why is my superclass calling my subclass method?)

答案是调用自身定义但也被子类重写的方法的基类调用子类上的重写方法而不是基类上的方法。 有关更多信息,请参阅从基类调用重写方法? 。 请参阅以下代码变体,并按照上述逻辑进行操作。 class A: def __init__(self): self.do() def do(self): print("do A") class B(A): def __init__(self): super().__init__()

C ++调用父函数仅在使用指针[duplicate]时有效(C++ calling parent function only works when using a pointer [duplicate])

Bar bar(); 是函数的声明。 Bar bar; 是你的朋友。 Bar bar(); is a declaration of a function. Bar bar; is your friend.

UIWebView源代码(UIWebView Source code)

您需要实现UIWebViewDelegate方法 - (void)webViewDidFinishLoad:(UIWebView *)webView并设置self.webView.delegate = self; 把你的代码NSString *yourHTMLSourceCodeString = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML"]; 这个方法 You need

如何在Gitlab上推送到远程git分支?(How to push to a remote git branch on Gitlab?)

您可以使用以下命令: git push origin <your_local_branch>:<remote_branch> 推动git中的任何分支。 在您的示例中,这相当于运行: git push origin master:testing You can use the command: git push origin <your_local_branch>:<remote_branch> to push on any branch in git. In your example, t

诺基亚设备上的getLocation时出现InstantiationException(InstantiationException while getLocation on Nokia device)

在应用程序描述符中,我将UpdateJourney作为MIDlet,我将其更改为HomeScreen并且它有效。 In the application descriptor I had UpdateJourney as the MIDlet, I changed it to HomeScreen and it worked.

AngularJS - 使用构造函数将数据注入DOM(AngularJS - Inject data to DOM with a constructor)

angular.module('helloWorldApp').controller('homeCtrl',['$scope','$http','$location','$log', function($scope,$http){ function init() { $http.get('http://localhost:3010/api/books').then(function(resp){ $scope.books = resp

为什么double总是8个字节而int总是4个字节,即使int有更多的数字?(Why is a double always 8 bytes and an int always 4 bytes, even if the int has more digits?)

我不明白int 63823是如何占用比双1.0更少的空间。 在这个特定的实例中,是否没有更多信息存储在int中? 好问题。 当您看到63823和1.0是基础数据的表示时,您看到的是,您没有看到基础数据。 它经过特殊格式化,以便您可以阅读,但机器 不能看到它。 Java使用非常特殊的格式来表示int和double 。 您需要查看这些表示,以了解为什么63823在表示为Java int时占用32位而1.0在表示为Java double时占用64位。 特别是,作为Java中的int 63823 表示为

相关文章

更多

最新问答

更多
  • 根据Woocommerce中的自定义字段计算自定义购物车商品价格(Custom cart item price calculation based on dimentions custom fields in Woocommerce)
  • 分开foreach项目并单独打印(Separate foreach items and print them individually)
  • 写模式管道是否同步?(Is write mode pipe synchronous?)
  • 发现可用的Windows Phone强调色和本地化名称(Discover available Windows Phone accent colors and localized names)
  • 使用多线程和WPF更新集合(Update Collection with multithreading and WPF)
  • 如何在字符串的情况下使用同步?(How should the synchronization be used in case of strings?)
  • 打印唯一的行,比较不超过N个字符(Print unique lines, compare no more than N characters)
  • Javascript / jQuery - 如何调用switch case从另一个函数执行(Javascript/jQuery - how to call a switch case to execute from another function)
  • Hbase超时错误不断发生(Hbase timeout errors keep occuring)
  • 如何在Delphi中更改TabControl中活动TAB的颜色(How to change the color of active TAB in a TabControl, in Delphi)
  • 正则表达式:在sublime文本中替换一些PHP代码(Regex: replace some pieces of php code in sublime text)
  • 在带有Scene2D的LibGDX中,如何在按下按钮时连续向右走?(In LibGDX with Scene2D, how can I continuously walk to the right when a button is pressed?)
  • 累加器如何在Haskell中工作?(How do accumulators work in Haskell?)
  • 使用开关检查市场和前缀与正确的货币符号(using switch to check market and prefix with correct currency symbol)
  • 在哪里分配一次使用类?(Where to allocate one time use class?)
  • 如何从两个DateTime / NaiveDateTime获取持续时间?(How do I get Duration from two DateTime / NaiveDateTime?)
  • 解析TimeSpan大于24小时?(Parse a TimeSpan greater than 24 hours? [duplicate])
  • 如何在球拍中本地更改阅读规则?(How to locally change reading rules in racket?)
  • 数据库应该由DI注入时的模拟存储(通过构造函数)(Mock storage when database should be injected by DI (through constructor))
  • 使用maven集成2个eclipse项目(Integrate 2 eclipse projects using maven)
  • 角度ng-repeat不检测变化(Angular ng-repeat not detecting changes)
  • Xaml组件在Silverlight + XNA应用程序的多个页面中可见(Xaml component visible in multiple pages in Silverlight+XNA applications)
  • 如何将`var`变量等同于另一个查询(How to equate `var` variable to another query)
  • 如何设计hyperledger链代码以适合您的业务?(how to design your chaincode of hyperledger to fit for your business?)
  • PHP readfile错误(PHP readfile error)
  • 在Date之后排序列表然后是时间(Sorting list after Date then time)
  • Android内部版本号(Android build number)
  • 在没有预设退出条件的情况下停止无限循环(stopping an infinite loop with no preset exit condition)
  • Phonegap应用程序全屏通过html页面中的按钮(Phonegap Application fullscreen through a button in html page)
  • PAA是否适合在门户网站中自动执行wcm库部署和设置?(Is PAA a good candidate for automating wcm library deployment and setup in portal?)