我正在尝试做一个网站抓取应用程序,当输入项目时,将搜索特定网站的产品并返回相关项目列表的价格,例如亚马逊。我有代码类型的工作,除了文本返回它只给出价格。以下是代码:
package com.start.layout;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import com.example.mf124.pricetackbenj.History;
import com.example.mf124.pricetackbenj.R;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Start extends AppCompatActivity
{
String title, wordentered;
Elements prices;
List<String> my_array_list = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Button searchwebsite = (Button) findViewById(R.id.SearchWeb);
searchwebsite.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EditText tt = (EditText) findViewById(R.id.editText);
wordentered = tt.getText().toString();
new AsyncTaskRunner().execute();
}
});
}
public void oo()
{
ListView lv = (ListView) findViewById(R.id.listView);
ArrayAdapter<String> arrayAdapter = new
ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,my_array_list);
lv.setAdapter(arrayAdapter);
}
private class AsyncTaskRunner extends AsyncTask<String, String, String>
{
private String resp;
@Override
protected String doInBackground(String... params)
{
try
{
Document doc = Jsoup.connect("" + wordentered).get();
title = doc.title();
prices = doc.select("");
String newd = prices.toString();
my_array_list.add(title);
my_array_list.add(newd);
}
catch (IOException e)
{
e.printStackTrace();
}
return title;
}
@Override
protected void onPostExecute(String result) { oo(); }
}
}
显示价格但不显示商品名称,我做错了什么?
String state = newd.substring(newd.indexOf("£" + 1, newd.lastIndexOf("<")));