网络爬虫360手机助手搜索功能

网络爬虫360手机助手搜索功能

关键字

  • jsoup
  • 网络爬虫
  • 360搜索
  • 安卓开发
  • 应用市场

用途

  • 根据用户输入的关键字,通过网络爬虫技术获取360手机应用市场搜索结果列表,搜索结果包括:应用名、图标、描述、下载地址、下载量、评分、以及搜索结果的总条数等信息,基本可以满足搜索需求。该代码片段既可以运用于服务端,也可以运用于服务端。

效果图(怎么这么丑?,你懂的)

这里写图片描述
这里写图片描述

需要的jar

  • jsoup.jar【google:jsoup】

核心源码(有详细注释)

    import java.util.ArrayList;
    import java.util.List;

    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;

    import com.wgyscsf.bean.Info;

    /**
     * @author 高远</n> 编写日期 2016-8-16下午7:33:48</n> 邮箱 wgyscsf@163.com</n> 博客
     *         http://blog.csdn.net/wgyscsf</n> TODO</n>
     */
    public class CoreService {

        private static String TAG = "CoreService";

        /**
         * 
         * 根据关键字获取360应用市场搜索结果列表信息。
         */
        public synchronized static List<Info> getSearchInfos(String searchWord,
                String pager) {
            // 搜索的链接
            String searchUrl = "http://zhushou.360.cn/search/index/?kw=";
            // 数据存放的集合
            List<Info> infoList = new ArrayList<Info>();
            // 目标搜索url
            if (pager == null || pager == "") {
                searchUrl += searchWord;
            } else {
                searchUrl += searchWord + "&page=" + pager;
            }
            // 获取源码
            String html = ConnUtils.look(searchUrl);
            // 所去所有节点
            Document doc = Jsoup.parse(html);
            // 获取目标根节点
            Elements elements = doc.getElementsByClass("SeaCon");
            // 只有一个元素节点
            Element element = elements.get(0);
            // 获取搜索信息
            String searchInfo = element.getElementsByClass("title_tr").get(0)
                    .getElementsByClass("red")
                    .get(0).text();
            // System.out.println(TAG + ":" + searchInfo);
            // 找到核心数据li列表
            Elements liElements = element.getElementsByTag("li");
            for (Element e : liElements) {
                Info info = new Info();
                //设置搜索信息
                info.setSearchNums(searchInfo);
                //获取app图标
                String appIocn = e.getElementsByTag("dt").get(0)
                        .getElementsByTag("a").get(0)
    .getElementsByTag("img")
                        .get(0).attr("_src");
                info.setImgPath(appIocn);
                // 获取应用名
                String appName = e.getElementsByTag("dd").get(0)
                        .getElementsByTag("a").get(0).text();
                info.setName(appName);
                // 获取描述信息
                String appTips = e.getElementsByTag("dd").get(0)
                        .getElementsByTag("p").get(0).text();
                info.setTips(appTips);
                // 找到评分以及下载量
                String starsAndDownInfo = e.getElementsByClass("sdlft")
                        .get(0).text();
                info.setStars(starsAndDownInfo.substring(0,
                        starsAndDownInfo.indexOf("分 ") + 1));
                info.setDownNums(starsAndDownInfo.substring(starsAndDownInfo
                        .indexOf("分 ") + 2));
                //System.out.println(TAG + ":" + info.getStars() + "*"
                // + info.getDownNums());// ok
                // 开始获取下载链接
                String downPath = e.getElementsByClass("seaDown").get(0)
                        .getElementsByTag("a").attr("href");
                info.setDownPath(downPath);
                infoList.add(info);
                System.out.println(TAG + ":" + info);
            }
            return infoList;

        }

        public static void main(String[] args) {
            List<Info> infos = getSearchInfos("qq", "");// 搜索关键字以及搜索结果的页码(可为空,默认为1)
            System.out.println("单个信息如下:" + infos.get(0));
        }
    }

操作源码下载

http://download.csdn.net/detail/wgyscsf/9605139

个人技术公众号

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值