march alex's blog
          hello,I am march alex
          posts - 52,comments - 7,trackbacks - 0
          之前我寫過獲取網頁源代碼的一篇隨筆,今天在獲取網頁源代碼的基礎上寫一篇獲取網頁上某單品頁上第一張大圖對應的url的方法。
          貓娘志是一家我很喜歡逛的網店,雖然我目前來沒有在那上面買過東西(等找到對象了給對象買)。
          我們在上面隨便打開一個品類頁(好吧,這是我精心挑的)
          然后我們會發現里面有幾張圖,其中第一張是小青的,但是我們可以看見這張圖并不是一張很大的圖
          因為他的url對應的是:http://gi1.md.alicdn.com/bao/uploaded/i1/T1fEEMFKVdXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg
          去掉“_430x430q90.jpg”就是我們真正想要的圖片了。
          http://gi1.md.alicdn.com/bao/uploaded/i1/T1fEEMFKVdXXXXXXXX_!!0-item_pic.jpg
          在這里展示一下最終獲得的圖片。

          我真的不是打廣告的。

          Finder類中的getPictureUrl方法用于獲得單品頁中第一張圖(qfour中單品頁的第一張基本上是。。小青)。
          main方法中提供測試。
          代碼如下:
          import java.io.BufferedReader;
          import java.io.InputStreamReader;
          import java.net.HttpURLConnection;
          import java.net.URL;


          public class Finder {
              public static String getPictureUrl(String urlString) throws Exception {
                  URL url = new URL(urlString);
                  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                  BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                  String line;
                  while ((line = reader.readLine()) != null){
                      int len = line.length();
                       int i, j;
                       for(i=0;i<len && line.charAt(i)!='<';i++);
                       if(i + 20 < len && line.substring(i, i + 20).equals("<img id=\"J_ImgBooth\"")) {
                           for(i += 20;i+5<len && line.substring(i, i+5).equals("src=\"") == false;i++);
                           i += 5;
                           for(j=i;j<len && line.substring(j-4,j).equals(".jpg") == false;j++);
                           return line.substring(i, j);
                       }
                  }
                  return null;
              }
              public static void main(String[] args) throws Exception {
                  String ans = getPictureUrl("http://detail.tmall.com/item.htm?spm=a1z10.1-b.w5003-6855741104.4.kCBV2T&id=38633693340&rn=61d1213d7255e897f0ee92b43b5bc9da&scene=taobao_shop");
                  System.out.println(ans);
              }
          }
          posted @ 2015-02-12 14:40 marchalex 閱讀(321) | 評論 (0)編輯 收藏
          今天用Java實現了一個類URLAnalysis,其中的getContent方法可用于實現獲取特定網頁源代碼,main函數用于測試。
          代碼如下:
          import java.io.BufferedReader;
          import java.io.InputStreamReader;
          import java.net.HttpURLConnection;
          import java.net.URL;

          public class URLAnalysis {
              public static String getContent(String urlString) throws Exception {
                  URL url = new URL(urlString);
                  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                  BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                  String line;
                  String ans = "";
                  while ((line = reader.readLine()) != null){
                       ans += line + "\n";
                  }
                  return ans;
              }
              public static void main(String[] args) throws Exception {
                  String ans = getContent("http://www.baidu.com");
                  System.out.println(ans);
              }
          }
          posted @ 2015-02-11 21:47 marchalex 閱讀(312) | 評論 (0)編輯 收藏
          僅列出標題
          共6頁: 上一頁 1 2 3 4 5 6 
          主站蜘蛛池模板: 新田县| 桐城市| 临西县| 丽水市| 高密市| 盐津县| 磴口县| 开封市| 密山市| 乐亭县| 永德县| 株洲市| 辽阳县| 墨竹工卡县| 富蕴县| 眉山市| 南汇区| 思南县| 潍坊市| 青龙| 乐陵市| 皮山县| 乌兰浩特市| 和田市| 苏尼特右旗| 山阳县| 阳曲县| 淮安市| 即墨市| 新乡县| 栾川县| 仁布县| 华亭县| 克拉玛依市| 赣榆县| 迁西县| 津南区| 安岳县| 内黄县| 翁牛特旗| 平谷区|