【发布时间】:2014-06-02 04:07:34
【问题描述】:
我正在尝试解析来自 tempobet.com 的英文格式的数据。问题是当我使用 google rest 客户端时,它会返回与我想要的相同的 html,但是,当我尝试通过 Jsoup 解析它时,它会以我的语言环境格式返回日期格式。这是测试代码
import java.io.IOException;
import java.util.Date;
import java.util.ListIterator;
import java.util.Locale;
import org.apache.commons.lang3.time.DateUtils;
import org.jsoup.Connection.Response;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.junit.Test;
public class ParseHtmlTest {
@Test
public void testName() throws IOException {
Response response = Jsoup.connect("https://www.tempobet.com/league191_5_0.html")
.userAgent("Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36")
.execute();
Document doc = Jsoup.connect("https://www.tempobet.com/league191_5_0.html")
.userAgent("Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36")
.header("Accept-Language", "en-US")
.header("Accept-Encoding", "gzip,deflate,sdch")
.cookies(response.cookies())
.get();
Elements tableElement = doc.select("table[class=table-a]");
ListIterator<Element> trElementIterator = tableElement.select("tr:gt(2)").listIterator();
while (trElementIterator.hasNext()) {
ListIterator<Element> tdElementIterator = trElementIterator.next().select("td").listIterator();
while (tdElementIterator.hasNext()) {
System.out.println(tdElementIterator.next());
}
}
}
}
这里是响应的示例行
<td width="40" class="grey">21 Nis 20:00</td>
日期应该是"21 Apr 20:00"。我将不胜感激。还是谢谢
【问题讨论】:
标签: java html-parsing jsoup request-headers