网站刮痧

时间:2015-12-09 09:09:23

标签: java android

我正在尝试做一个网站抓取应用程序,当输入项目时,将搜索特定网站的产品并返回相关项目列表的价格,例如亚马逊。我有代码类型的工作,除了文本返回它只给出价格。以下是代码:

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("<")));

0 个答案:

没有答案