试着抓取网易的图片报404错误

酷酷的就 发布于 2015/01/17 21:12
阅读 411
收藏 0

网太卡,没办法的事情, 看网易的新闻图片呢,无奈网太慢了, 基本加载不出来,急死人了. 

就想着写点代码抓取图片页面的信息,然后弄个页面全部展示,这样试了下,效果还不错, 后来又想把这些信息保存到本地,直接浏览就行啦, 其实就是个json串, 也不难.

可是,可是,可是再次抓取就404了, 不知道网易是怎么判断出来我不是用的浏览器,但用浏览器还是可以访问的,我想应该是Cookie判断的,但不是很清楚. 尤其是用浏览器访问地址最后是有些参数的,估计有关系,但也不懂

后来直接写main函数Jsoup抓取,发现也是可以但,但前台传参的方式到后台起进程抓取就404, 就这就不懂了

以下是代码,看有没有什么建议?

/**
	 * 可以抓取页面的
	 */
	public static void main(String[] args) throws Exception {
		String url = "http://news.163.com/photoview/00AN0001/83018.html?from=ph_ss#p=AG5MF12300AN0001";
		Document doc = Jsoup.connect(url).get();
		System.out.println(doc);
	}
/**
 *这样就不行
 */
 public void get() {
     String url = getPara("url", "").trim().toLowerCase(); 
     String charset = getPara("charset", "GBK").toUpperCase();
     new Thread(new CatchUrl(url, charset)).start();
 }
 
 
 class CatchUrl implements Runnable {
     String url;
     String charset;

     public CatchUrl(String url, String charset) {
         this.url = url;
         this.charset = charset;
     }
 
     public void run() {
         try {log.info("url:[" + url + "]");
             Document doc = Jsoup.connect(url).get(); // 这里报404错误
         }catch (Exception e) {
             e.printStackTrace();
     }
 }}
  








加载中
0
酷酷的就
酷酷的就
@红薯 , 这个代码格式, 还得我自己调整么? 
0
酷酷的就
酷酷的就
找到原因了, 是我自己粗心, 不应该 toLowerCase(), 去掉就好了.. 
返回顶部
顶部