当前位置:首页 » 安卓系统 » 安卓手机如何加网页爬取

安卓手机如何加网页爬取

发布时间: 2022-07-25 14:36:27

1. android怎么获取网页数据

下面介绍三种获取网页数据的代码
例子来自于android学习手册,android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳
//第一种
/**获取参数(ArrayList<NameValuePair> nameValuePairs,String url)后post给远程服务器
* 将获得的返回结果(String)返回给调用者
* 本函数适用于查询数量较少的时候
*/
public String posturl(ArrayList<NameValuePair> nameValuePairs,String url){
String result = "";
String tmp= "";
InputStream is = null;
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
return "Fail to establish http connection!";
}

try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();

tmp=sb.toString();
}catch(Exception e){
return "Fail to convert net stream!";
}

try{
JSONArray jArray = new JSONArray(tmp);
for(int i=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
Iterator<?> keys=json_data.keys();
while(keys.hasNext()){
result += json_data.getString(keys.next().toString());
}
}
}catch(JSONException e){
return "The URL you post is wrong!";
}

return result;
}

//第二种
/**获取参数指定的网页代码,将其返回给调用者,由调用者对其解析
* 返回String
*/
public String posturl(String url){
InputStream is = null;
String result = "";

try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
return "Fail to establish http connection!"+e.toString();
}

try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();

result=sb.toString();
}catch(Exception e){
return "Fail to convert net stream!";
}

return result;
}

//第三种
/**获取指定地址的网页数据
* 返回数据流
*/
public InputStream streampost(String remote_addr){
URL infoUrl = null;
InputStream inStream = null;
try {
infoUrl = new URL(remote_addr);
URLConnection connection = infoUrl.openConnection();
HttpURLConnection httpConnection = (HttpURLConnection)connection;
int responseCode = httpConnection.getResponseCode();
if(responseCode == HttpURLConnection.HTTP_OK){
inStream = httpConnection.getInputStream();
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return inStream;

2. 安卓怎么嵌入web本地网页

第一步:

存放本地html文件:放在app/src/main/assets目录下,一般来说Androidstudio项目下是没有assets文件夹的,所以需要在app/src/main下新建一个文件夹,取名assets.如图:

新建文件夹assets

2.第二步就在在你的xml布局文件中,假如webview元素,接着访问本地的html文件,功能很简单,代码如下:

WebView webview = (WebView)findViewById(R.id.webview);

webview.loadUrl("file:///android_asset/normal.html");

3. 在安卓手机上网页源码如何用

操作方法如下:

1、首先打开手机,找到并点击进入设置,如下图所示。

4. 如何在安卓app中加入一个网页爬取功能

jsoup 支持html完整解析,如果使用httprequest,原生的话需要自己解析xml,通过httpconnection。

5. 如何直接在安卓手机上读取app中打开的网页的url

PackageManager mPackageManager = getPackageManager();
mPackageManager.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES );
这样就获取到了系统上面所有的app.
那么如何获取到非系统的app呢?
其实很简单,我们只需要做个简单的判断就行了,如:
final PackageInfo packageInfo = mPackageInfoList.get(i);
if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
//添加自己的代码即可

6. 怎么提取安卓软件中的某个网页

建议下载一个浏览器,每次打开网页都选择你下的那个浏览器,等网页完全打开,你点击收藏,或者点击历史,就大功告成

7. 安卓如何实现获取网页源代码

public class GetHtmlCodeActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

TextView textView = (TextView)this.findViewById(R.id.picture_textview);
try {
textView.setText(getPictureData("http://www..com"));
} catch (Exception e) {
Log.e("GetHtmlCodeActivity", e.toString());
Toast.makeText(GetHtmlCodeActivity.this, "网络连接失败", 1).show();
}
}
//得到图片的二进制数据
public String getPictureData(String path) throws Exception{
// 类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。
URL url = new URL("http://www..com/");
// 每个 HttpURLConnection 实例都可用于生成单个请求,
//但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//设置 URL 请求的方法
conn.setRequestMethod("GET");
//设置一个指定的超时值(以毫秒为单位),
//该值将在打开到此 URLConnection 引用的资源的通信链接时使用。
conn.setConnectTimeout(5 * 1000);
// conn.getInputStream()返回从此打开的连接读取的输入流
InputStream inStream = conn.getInputStream();// 通过输入流获取html数据
byte[] data = readInputStream(inStream);// 得到html的二进制数据
String html = new String(data);
return html;

}
//读取输入流中的数据,返回字节数组byte[]
public byte[] readInputStream(InputStream inStream) throws Exception{
//此类实现了一个输出流,其中的数据被写入一个 byte 数组
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
// 字节数组
byte[] buffer = new byte[1024];
int len = 0;
//从输入流中读取一定数量的字节,并将其存储在缓冲区数组buffer 中
while ((len = inStream.read(buffer)) != -1) {
// 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流
outStream.write(buffer, 0, len);
}
inStream.close();
//toByteArray()创建一个新分配的 byte 数组。
return outStream.toByteArray();
}
}

可以看一下这个自己想想哦

8. 安卓手机怎么添加网页的快捷方式到桌面

通过浏览器菜单,添加“桌面书签”功能来实现。具体操作如下。

1)打开华为浏览器,登陆手机新浪网。

9. 如何进行手机APP的数据爬取

Python爬虫手机的步骤:

1. 下载fiddler抓包工具

2. 设置fiddler

这里有两点需要说明一下。

设置允许抓取HTTPS信息包

操作很简单,打开下载好的fiddler,找到 Tools -> Options,然后再HTTPS的工具栏下勾选Decrpt HTTPS traffic,在新弹出的选项栏下勾选Ignore server certificate errors。

设置允许外部设备发送HTTP/HTTPS到fiddler

相同的,在Connections选项栏下勾选Allow remote computers to connect,并记住上面的端口号8888,后面会使用到。

好了,需要的fiddler设置就配置完成了。

3. 设置手机端

设置手机端之前,我们需要记住一点:电脑和手机需要在同一个网络下进行操作。

可以使用wifi或者手机热点等来完成。

假如你已经让电脑和手机处于同一个网络下了,这时候我们需要知道此网络的ip地址,可以在命令行输入ipconfig简单的获得,如图。

好了,下面我们开始手机端的设置。

手机APP的抓取操作对于Android和Apple系统都可用,博主使用的苹果系统,在此以苹果系统为例。

进入到手机wifi的设置界面,选择当前连接网络的更多信息,在苹果中是一个叹号。然后在最下面你会看到HTTP代理的选项,点击进入。

进入后,填写上面记住的ip地址和端口号,确定保存。

4. 下载fiddler安全证书

在手机上打开浏览器输入一个上面ip地址和端口号组成的url:http://192.168.43.38:8888,然后点击FiddlerRoot certificate下载fiddler证书。

以上就简单完成了所有的操作,最后我们测试一下是否好用。

5. 手机端测试

就以知乎APP为例,在手机上打开 知乎APP。下面是电脑上fiddler的抓包结果。

结果没有问题,抓到信息包。然后就可以使用我们分析网页的方法来进行后续的操作了。

10. 如何利用安卓手机进行app里面的爬虫采集

思路:

开发简单爬取效率低的办法找app自动化测试工具直接模拟人操作得到数据

如果对爬起取效率高或者对网络熟,可以用wireshark之类公具分析他的通信协议,是http还是自定义协议,然后伪造请求。

热点内容
安卓数据线怎么接蓝牙 发布:2025-01-22 12:07:29 浏览:229
扣扣账号多少次密码不正确会被封 发布:2025-01-22 12:07:19 浏览:400
python是32位还是64位 发布:2025-01-22 11:51:41 浏览:894
铃声多多缓存文件夹 发布:2025-01-22 11:51:39 浏览:724
java按键精灵 发布:2025-01-22 11:49:31 浏览:81
python配色 发布:2025-01-22 11:46:40 浏览:613
安卓如何使用屏幕录制 发布:2025-01-22 11:46:36 浏览:777
phpencoding 发布:2025-01-22 11:46:35 浏览:257
安卓235玩什么 发布:2025-01-22 11:37:40 浏览:217
c语言计算个人所得税 发布:2025-01-22 11:28:49 浏览:735