Jsoup解析部分网址转入手机登陆页面

wertyliii 发布于 2012/07/17 21:16
阅读 574
收藏 2
我在电脑上用Jsoup解析www.junzhuan.com和bbs.junren.com这两个网站时,得到的页面却不是正常得到的页面源码,而貌似是手机版的,为什么会出现这种情况?求高人解答!!!
package myCrawler;


import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

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

public class MyJsoup{
	public static void main(String[] args){
		String url = "http://www.junzhuan.com";
		URL newurl = null;
		try {
			newurl = new URL(url);
		} catch (MalformedURLException e1) {
			e1.printStackTrace();
		}
		try {
			Document document = Jsoup.connect(url).get();
			System.out.println(Jsoup.parse(newurl, 7000).text());
			Elements links = document.select("a[href]");
			for(Element link : links)
				System.out.print(link.attr("abs:href")+"\n");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


加载中
0
wertyliii
wertyliii

有没有人来帮帮我啊。。

0
红薯
红薯

是 User-Agent 的问题,你要模拟普通的浏览器的 User-Agent

Connection 对象有个 userAgent 方法

wertyliii
wertyliii
十分感谢!!下次有问题再请教~
0
wertyliii
wertyliii

十分感谢!!

刚刚用这个东西。。本来是用htmlparser写的,结果总有bug,无赖换了,如何设置这个?

wertyliii
wertyliii
@红薯 我用的是Jsoup.parse(newurl, 7000).text()来取得页面文本内容,我现在要取得需要登录的页面,这个parse里好像无法传递cookies啊?
红薯
红薯
Connection 对象有个 userAgent 方法
0
iSea
iSea
Jsoup.connect(" http://www.tudou.com/programs/view/pVploWOtCQM/")
    .data("query", "Java")
    .userAgent("Mozilla")
    .cookie("auth", "token")
wertyliii
wertyliii
我用的是Jsoup.parse(newurl, 7000).text()来取得页面文本内容,我现在要取得需要登录的页面,这个parse里好像无法传递cookies啊?
0
红薯
红薯

Jsoup 的 connection 对象有个 header 方法可以指定请求头来设置 Cookie。但

jsoup 不适合干这个事情,可以考虑结合 httpclient 使用

返回顶部
顶部