模拟微信浏览器抓取数据

来源:互联网 发布:如何手机注册淘宝联盟 编辑:程序博客网 时间:2024/06/03 05:06

步骤:
1、 配置谷歌浏览器,按f12进入检查,右下角点击选择settings
这里写图片描述

2、 选择device,点击add
这里写图片描述

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、填写完毕后,选择好类型后,点击保存
这里写图片描述

5、 在检查页面中,点击左下角类似手机的图标,
这里写图片描述

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

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;}

}

原创粉丝点击