作者:手机用户2402851335 | 2023-06-18 12:43
我正在为一个班级制作一个小型Android应用程序,在那里我可以从美国癌症协会的网站上找到癌症相关事件.我一直在使用JSoup来获取有关事件的基本信息,并从我尝试使用select()方法的网站获取特定信息.但是,我正在使用的当前方法抓取的方式比我想要的更多HTML节点,我无法弄清楚原因.我试图抓住的表看起来像这样:
编辑:我意识到where id ="pnlResults"并没有在那个表结束,它在大约3个表之后结束,所有表都包含我想要获取的信息.这是表格
American Cancer Society 44th Annual Walter Hagen Golf Tournament
General Information
Event Times: Monday, July 30, 2012
10:00 AM - 9:00 PM
Time Zone: Eastern
Description: The American Cancer Society Walter Hagen Golf Tournament highlights the Society’s role in supporting research and patient care here in Rochester. Funds raised through this event help us make a difference in patents’ lives every day though programs including Road to Recovery and Patient Navigation as well as support grants to our research institutions. 144 golfers will play a round of golf and then enjoy cocktails, dinner, and silent auction following the tournament.
Agenda: 10:00am - Check-in, 11:00am - Lunch, 12:15pm - Shot gun start, 6:00 - Cocktails and silent auction, 7:00pm Dinner and program
Event Location
Irondequoit Country Club
Address: 4045 East Avenue Rochester, New York 14618
Handicap Accessible: Yes
Primary Contact
Contact: Katerina Kormas (Contact ACS for Details )
Contact Type: ACS Staff
Phone: (585) 288-1950
Additional Information: Direct line is 585-224-4919 or cell 585-645-8912
Registration Information
Registration Required?: Yes
Event Cost
Cost/Registration Fee: $350 per golfer
Payment Type: Cash, Check, American Express, Mastercard, Visa, Discover
Check Payable To: American Cancer Society
Memo Line: American Cancer Society 44th Annual Walter Hagen Golf Tourna
Mail Check To: American Cancer Society 1120 South Goodman St Rochester, New York 14620
Tax Deduction Information
$210 per golfer is tax deductible
编辑:鉴于这些新表,我想提取一般信息和事件位置.我该怎么做呢?也许使用select的子集我只需要再次选择哪里标题是我想要的?
我正在使用select()的代码如下所示.正如我之前所说,我试图使用
select("div[id=pnlResults]);
但返回的数据不仅仅是id为pnlResults的div.
public ArrayList results()
{
ArrayList results = new ArrayList();
Document doc = Jsoup.parse(page);
Elements links = doc.select("a[href*=event-details]");
for(Element e: links)
{
String title = e.text();
String link = "http://www.cancer.org/involved/participate/app/"+e.attr("href");
try{
Document eventInfo = Jsoup.connect(link).get();
Elements info = eventInfo.select("div[id*=pnlResults");
}
catch(MalformedURLException exception)
{
exception.printStackTrace();
}
catch(IOException exception)
{
exception.printStackTrace();
}
}
return results;
}
任何帮助将不胜感激.
1> C0deAttack..: 尝试:
Elements info = eventInfo.select("div#pnlResults");
更新更新:
由于您现在拥有更多数据,并且由于HTML本身并不是那么好,您只需要通过它来挑选您的数据.如果您需要的内容都具有id
值,则使用id
这些元素的属性来获取文本.
2> akelec..: 如果你想获得id为"pnlResults"的div的内容,JSoup提供方法getElementById .
例如,如果您想获取该内容并将其放在字符串中,您可以这样做:
Document document = Jsoup.connect(LINK_TO_WEBSITE).get();
String content = document.getElementById("pnlResults").outerHtml();
然后,您可以将此内容放在Android的WebView中,它会很好用.
希望这会对某人有所帮助!
推荐阅读
如何解决《在一个充满零的矩阵中的一个-R.》经验,为你挑选了1个好方法。 ...
[详细]
如何解决《SWIFTiOS中的崩溃报告》经验,为你挑选了0个好方法。 ...
[详细]
如何解决《ScalaTry的toOption方法返回Some(null)》经验,为你挑选了1个好方法。 ...
[详细]
如何解决《如何使用Scanner类中的hasNext()?》经验,为你挑选了1个好方法。 ...
[详细]
如何解决《传递基础参考字段的生命周期?》经验,为你挑选了0个好方法。 ...
[详细]
如何解决《d3.jslinkStrength对力图中linkDistance的影响》经验,为你挑选了1个好方法。 ...
[详细]
如何解决《调用DelphiDLL的意外线程行为》经验,为你挑选了1个好方法。 ...
[详细]
如何解决《使用ReverseLayoutrecyclerview将项目添加到EndlessScrollRecyclerView》经验,为你挑选了1个好方法。 ...
[详细]
如何解决《使用BinaryWriter时,为什么二进制文件的大小不会减少》经验,为你挑选了1个好方法。 ...
[详细]
如何解决《鼠标悬停上的边界半径在哪里》经验,为你挑选了0个好方法。 ...
[详细]
如何解决《ColdFusion10Developer,Tomcat7.0.64和多个网站》经验,为你挑选了0个好方法。 ...
[详细]
如何解决《DjangoAdmin不保存预先填充的内联字段,这些字段保留在初始状态》经验,为你挑选了1个好方法。 ...
[详细]
如何解决《如何根据Angularjs中的两个自定义过滤器过滤数据》经验,为你挑选了0个好方法。 ...
[详细]
如何解决《在PyCharm中运行或调试时增加输出缓冲区》经验,为你挑选了3个好方法。 ...
[详细]
如何解决《有条件地阻止方法覆盖》经验,为你挑选了1个好方法。 ...
[详细]
如何解决《qDebug()不会打印任何内容》经验,为你挑选了1个好方法。 ...
[详细]
如何解决《Android6.0.1无法以编程方式启用wifi热点》经验,为你挑选了0个好方法。 ...
[详细]
如何解决《将null值赋给list中的属性》经验,为你挑选了1个好方法。 ...
[详细]
如何解决《电报,获取现有贴纸的file_id》经验,为你挑选了1个好方法。 ...
[详细]
如何解决《不遵守输入字段的Maxlength属性》经验,为你挑选了1个好方法。 ...
[详细]
手机用户2402851335
这个屌丝很懒,什么也没留下!