我在Talend有一个进程,它获取页面的search结果,保存html并写入文件,如下所示: 最初,我有两个步骤从Java中的HTML文件中parsing出date。 这里是代码:它的工作原理和写入到MySQL数据库。 这里是基本上是这样的代码。 (我是一个初学者,抱歉缺乏优雅) package org.jsoup.examples; import java.io.*; import org.jsoup.*; import org.jsoup.nodes.*; import org.jsoup.select.Elements; import java.io.IOException; public class parse2 { static parse2 parseIt2 = new parse2(); String companyName = "Platzhalter"; String jobTitle = "Platzhalter"; String location = "Platzhalter"; String timeAdded = "Platzhalter"; public static void main(String[] args) throws IOException { parseIt2.getData(); } // public […]
当我尝试使用Jsoupparsing大量HTML文档时,我得到一个SocketTimeoutException。 例如,我得到了一个链接列表: <a href="www.domain.com/url1.html">link1</a> <a href="www.domain.com/url2.html">link2</a> <a href="www.domain.com/url3.html">link3</a> <a href="www.domain.com/url4.html">link4</a> 对于每个链接,我parsing链接到该URL的文档(来自href属性)以获取这些页面中的其他信息。 所以我可以想象它需要很多时间,但是如何closures这个exception呢? 这是整个堆栈跟踪: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(Unknown Source) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source) at sun.net.www.http.HttpClient.parseHTTP(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.HttpURLConnection.getResponseCode(Unknown Source) at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:381) at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:364) at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:143) at org.jsoup.helper.HttpConnection.get(HttpConnection.java:132) at app.ForumCrawler.crawl(ForumCrawler.java:50) at […]
我正在试验这个网站,在欢迎页面上收集我的用户名,以学习Jsoup和Android。 使用下面的代码 Connection.Response res = Jsoup.connect("http://www.mikeportnoy.com/forum/login.aspx") .data("ctl00$ContentPlaceHolder1$ctl00$Login1$UserName", "username", "ctl00$ContentPlaceHolder1$ctl00$Login1$Password", "password") .method(Method.POST) .execute(); String sessionId = res.cookie(".ASPXAUTH"); Document doc2 = Jsoup.connect("http://www.mikeportnoy.com/forum/default.aspx") .cookie(".ASPXAUTH", sessionId) .get(); 我的cookie(.ASPXAUTH)总是以NULL结尾。 如果我在网页浏览器中删除这个cookie,我会失去联系。 所以我相信这是正确的cookie。 另外,如果我改变了代码 .cookie(".ASPXAUTH", "jkaldfjjfasldjf") Using the correct values of course 我可以从这个页面上删除我的login名。 这也让我觉得我有正确的cookie。 那么,我的cookies怎么来了? 我的用户名和密码名称字段是否有误? 别的东西? 谢谢。
我是一个新的Android程序员,我的问题是这样的: 我想从HTML文件中获取一些信息。 下载并以舒适的方式parsing它的最好方法是什么? 谢谢!
Jsoup有没有办法从基本访问validation的网站加载文档?
我试图用JSoupparsingFacebook的首页,但我总是得到移动设备的HTML代码,而不是普通浏览器的版本(在我的情况下Firefox 5.0)。 我正在设置我的用户代理这样的: doc = Jsoup.connect(url) .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0") .get(); 我做错了什么? 编辑: 我刚刚parsing了http://whatsmyuseragent.com/ ,看起来像用户代理正在工作。 现在它更让我困惑,为什么网站http://www.facebook.com/使用JSoup和我的浏览器时返回一个不同的版本。 两者都使用相同的useragent …. 我现在也注意到了其他一些网站上的这种行为。 如果你能向我解释这个问题是什么,我会更高兴。
在一个HTML页面中,我想select一个javascriptvariables的值。 以下是HTML页面的片段。 <input id="hidval" value="" type="hidden"> <form method="post" style="padding: 0px;margin: 0px;" name="profile" autocomplete="off"> <input name="pqRjnA" id="pqRjnA" value="" type="hidden"> <script type="text/javascript"> key="pqRjnA"; </script> 我的目标是使用jsoup从这个页面读取variableskey的值。 用jsoup吗? 如果是的话那怎么样?
我正在使用JSoupparsing来自http://www.latijnengrieks.com/vertaling.php?id=5368的内容。 这是第三方网站,并没有指定正确的编码。 我正在使用下面的代码来加载数据: public class Loader { public static void main(String[] args){ String url = "http://www.latijnengrieks.com/vertaling.php?id=5368"; Document doc; try { doc = Jsoup.connect(url).timeout(5000).get(); Element content = doc.select("div.kader").first(); Element contenttableElement = content.getElementsByClass("kopje").first().parent().parent(); String contenttext = content.html(); String tabletext = contenttableElement.html(); contenttext = Jsoup.parse(contenttext).text(); contenttext = contenttext.replace("br2n", "\n"); tabletext = Jsoup.parse(tabletext.replaceAll("(?i)<br[^>]*>", "br2n")).text(); tabletext = tabletext.replace("br2n", "\n"); String […]
页面上的一个块用javascript填充内容,用Jsoup加载页面后没有任何信息。 用Jsoupparsing页面时,有没有办法获得javascript生成的内容? Marcin特别UPD: 无法粘贴页面代码,因为它太长了: 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> 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" […]
我试图用jsouplogin到一个网站,然后刮信息,我遇到了一个问题,我可以login成功,并从index.php创build一个文档,但我不能在网站上的其他网页。 我知道我需要设置一个cookie后,我发布,然后加载它,当我试图在网站上打开另一个页面。 但是,我该怎么做呢? 以下代码让我login并获取index.php Document doc = Jsoup.connect("http://www.example.com/login.php") .data("username", "myUsername", "password", "myPassword") .post(); 我知道我可以使用Apache httpclient来做到这一点,但我不想。