zoukankan      html  css  js  c++  java
  • 手把手教你做关键词匹配项目(搜索引擎) 第七天

    第七天

    小帅帅拿回去仔细研究了一个晚上。

    发现代码其实都是自己写的,就多了一些类,于老大还不是抄的我的代码,心里又鄙视了于老大一番。

    其实每个人都有通病,写过程的总是会鄙视写面向对象的,因为他们没体会到面向对象是啥玩意,要让他们写好可得花上好几年的工夫。

    小帅帅学编程的时候,明明知道有函数这一概念,知道函数的写法,但是实际上就算一个函数里面几百行代码,也不知道去提前多个函数出来,美其名约:你看我多厉害,几百行代码耶。

    小帅帅心里虽然鄙视于老大,但是看到于老大的代码怎么感觉很清爽,一切都那么自然。

    但是他还是忍不住要去问于老大:

    “于老大,其实你的代码跟我的一样,为什么要这样写,这样写有什么好处?”

    于老大就说:“恩,是的,代码基本上一样,而且有的时候还会多出一些代码,你在比较的过程中你发现了没有,我写的那份代码是不是对你的代码进行总结和归类” 。

    面向对象其实就是对面向过程的总结和归类。

    可惜小帅帅还是不太理解,心里虽然不太乐意,毕竟人家是老大,听人家的话准没错。

    小帅帅回答到:“恩,是的,那我扩展是不是继承Source就好了”。

    于老大回到:“恩,是的,继承的Source只要对里面的属性keywords赋值就行了,是不是很方便,如果你对面向对象还不太熟悉的话,建议你先把这些基础学好”。

    面向对象:面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统网络管理结构、CAD技术、人工智能等领域。[来自百度词条]

    “面向对象”是专指在程序设计中采用封装继承多态等设计方法。

    于老大继续说到:“你按照我的方法继续扩展一个,来加深思路。就那个“是不是想找”的任务 。”

    小帅帅回答到:“好的”。

    小帅帅不用一个小时就搞定了任务。

    请求的关键词为大码女装,地址为:http://s.taobao.com/search?spm=1.7274553.1997520241.2.RsphTP&q=%C5%AE%D1%A9%B7%C4%C9%C0&refpid=420461_1006&source=tbsy&style=grid&tab=all

    HTML:

    <dl class="supplement-relate">
        <dt>您是不是想找:</dt>
        <dd>
                        <a trace="relatedSearch" href="/search?spm=a230r.1.0.0.TjhJTC&amp;q=%D1%A9%B7%C4%C9%C0%C5%AE2014&amp;rs=up&amp;rsclick=1" data-spm-anchor-id="a230r.1.0.0">雪纺衫女2014</a>
                        <a trace="relatedSearch" href="/search?q=%C5%AE%D1%A9%B7%C4%C9%C0%B3%A4%BF%EE&amp;rs=up&amp;rsclick=2">女雪纺衫长款</a>
                        <a trace="relatedSearch" href="/search?q=%B4%F3%C2%EB%C5%AE%D1%A9%B7%C4%C9%C0&amp;rs=up&amp;rsclick=3">大码女雪纺衫</a>
                        <a trace="relatedSearch" href="/search?q=%D1%A9%B7%C4%C9%C0%C5%AE%B6%CC%D0%E4&amp;rs=up&amp;rsclick=4">雪纺衫女短袖</a>
                        <a trace="relatedSearch" href="/search?q=%D1%A9%B7%C4%C9%C0+%C5%AE+%B3%A4%D0%E4&amp;rs=up&amp;rsclick=5">雪纺衫女长袖</a>
                        <a trace="relatedSearch" href="/search?q=%C1%AC%D2%C2%C8%B9&amp;rs=up&amp;rsclick=6">连衣裙</a>
                        <a trace="relatedSearch" href="/search?q=%C5%AEt%D0%F4&amp;rs=up&amp;rsclick=7">女t恤</a>
                        <a trace="relatedSearch" href="/search?q=%B4%F3%C2%EB%C5%AE%D7%B0&amp;rs=up&amp;rsclick=8">大码女装</a>
                        <a trace="relatedSearch" href="/search?q=%C5%AE%D1%A9%B7%C4%C9%C0%B0%D7%C9%AB&amp;rs=up&amp;rsclick=9">女雪纺衫白色</a>
                        <a trace="relatedSearch" href="/search?q=%C5%AE%D1%A9%B7%C4%C9%C0%D6%D0%D0%E4&amp;rs=up&amp;rsclick=10">女雪纺衫中袖</a>
                        <a trace="relatedSearch" href="/search?q=%C5%AE%D1%A9%B7%C4%C9%C0%CC%D7%D7%B0&amp;rs=up&amp;rsclick=11">女雪纺衫套装</a>
                        <a trace="relatedSearch" href="/search?q=%CE%DE%D0%E4%D1%A9%B7%C4%C9%C0%C5%AE&amp;rs=up&amp;rsclick=12">无袖雪纺衫女</a>
                        <a trace="relatedSearch" href="/search?q=%C5%AE%D1%A9%B7%C4%C9%C0%B3%A4%D0%E4%D0%C2%BF%EE&amp;rs=up&amp;rsclick=13">女雪纺衫长袖新款</a>
                        <a trace="relatedSearch" href="/search?q=2014%D1%A9%B7%C4%C9%C0+%C5%AE+%B6%CC%D0%E4&amp;rs=up&amp;rsclick=14">2014雪纺衫女短袖</a>
                </dd>
    </dl>

    小帅帅的代码:

    class TaobaoRelatedSearchSource extends Source
    {
        
        public function __construct()
        {
            # code...
            $curl = new ExtendedCurl();
            $content = $curl->get("http://s.taobao.com/search?spm=1.7274553.1997520241.2.RsphTP&q=%C5%AE%D1%A9%B7%C4%C9%C0&refpid=420461_1006&source=tbsy&style=grid&tab=all");
            if($curl->hasError()){
                throw new Exception($curl->getError(), $curl->getHttpCode());    
            }
    
            $html = str_get_html($content);
            foreach($html->find(".supplement-relate a[trace==relatedSearch]") as $ele){
                $this->keywords[] = $ele->innertext;
            }
    
        }
    }

    小帅帅把代码拿给于老大,受到于老大的称赞,心里美滋滋的。不过小帅帅还是不懂面向对象的真谛。

    小帅帅乐呵不久,又犯愁了,原因是淘宝API怎么用,如何取宝贝信息?资料又来自哪里。

    小帅帅不得不又屁颠屁颠的跑去于老大身边去,请教破敌之策。

    于老大先让他去看淘宝API教程,扔了个网址:http://open.taobao.com,让小帅帅自己去看。

    小帅帅不得不又再一次在心里默默的鄙视了于老大,都要我去看,还要你干吗,这奇怪的念头一出,小帅帅赶紧的摇摇头,想让脑袋不再继续想下去。

    就这样,小帅帅去淘宝开放平台取经去了,什么面向对象都抛脑后了。( 0 没有实际的磨练与理解,还是跟着老大的想法去走 0 )

    PS:(学习是个人的事情,项目总监也只是领进门,能不能成就还是要看个人,很多人其实跟小帅帅一样,都会有这个念头,也有人会去质疑某人的能力)

    作者: oShine.Q
    出处:http://www.cnblogs.com/oshine/
    作品oShine.Q 创作, 欢迎转载,但任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问,请给我留言。
  • 相关阅读:
    MainFrm.cpp
    MyView.h
    我的东软实习项目一:车牌识别之MFC----MyView.cpp
    洛谷P1055 字符串的处理-----ISBN
    跳出多重循环------设置标志量
    单链表的创建及操作
    线性表的建立及运算
    JVM--你常见的jvm 异常有哪些? 代码演示:StackOverflowError , utOfMemoryError: Java heap space , OutOfMemoryError: GC overhead limit exceeded, Direct buffer memory, Unable_to_create_new_native_Thread, Metaspace
    JVM-gcRoots 和 强引用,软引用, 弱引用, 虚引用, 代码演示和应用场景
    JUC 并发编程--08,线程池,三大方法,七大参数,4种拒绝策略,代码演示
  • 原文地址:https://www.cnblogs.com/oshine/p/3904122.html
Copyright © 2011-2022 走看看