模拟微信浏览器抓取数据

步骤:
1、 配置谷歌浏览器,按f12进入检查,右下角点击选择settings
模拟微信浏览器抓取数据_第1张图片

2、 选择device,点击add
模拟微信浏览器抓取数据_第2张图片

3、 填写userAgent

微信安卓UA
Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255
微信iPhone UA
Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2
4、填写完毕后,选择好类型后,点击保存
模拟微信浏览器抓取数据_第3张图片

5、 在检查页面中,点击左下角类似手机的图标,
模拟微信浏览器抓取数据_第4张图片

在页面最上面,选择你填写的设备名称。
这里写图片描述

6、 在不关闭检查的情况下,在浏览器输入你所需爬取微信数据的url,这个url,可能需要你用抓包工具抓取,因为url里应该有你的账号等信息。

7、 抓到url后,用java抓取数据代码。

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class WechatBrowser {
public static void main(String[] args) throws Exception {
String userAgent=”Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255”;
String html = getHttpClientHtml(“你的url”, “UTF-8”,”“,userAgent,”“);
System.out.println(html);
}

/**
 * 
 * @param url
 * @param code 编码
 * @param referer  可能需要,也可能不需要,抓包工具会抓到Referer
 * @param userAgent
 * @param cookie 
 * @return
 */
public static String getHttpClientHtml(String url,String code, String referer,String userAgent,String cookie) {
    // TODO Auto-generated method stub
    String html = new String();
    HttpClient httpClient = HttpClients.createDefault();// 创建httpClient对象
    HttpGet httpget = new HttpGet(url);// 以get方式请求该URL
    httpget.setHeader("User-Agent",userAgent );
    httpget.setHeader("Referer", referer);
    httpget.setHeader("Cookie", cookie); 
    try {
        // 得到responce对象
        HttpResponse responce = httpClient.execute(httpget);
        // 返回码
        int returnCode = responce.getStatusLine().getStatusCode();
        // 是200证明正常 其他就不对
         if (returnCode== HttpStatus.SC_OK) {
            // 获得相应实体
             HttpEntity entity = responce.getEntity();
             if (entity != null) {
                 html = new String(EntityUtils.toString(entity));// 获得html源代码
             }
         }
    }catch(Exception e){
         System.out.println("出现出现异常");
         e.printStackTrace();
    }finally{
         httpClient.getConnectionManager().shutdown();
    }
    return html;
}

}

你可能感兴趣的:(模拟微信浏览器抓取数据)