`
老汉学编程
  • 浏览: 30714 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

网络爬虫技术

阅读更多

搞了大半夜,终于把selenium 驱动Firefox调通。

这是web测试工具,也可用作页面抓取工具,尤其是对网站结构比较复杂,有异步加载的网站尤为合适。

废话少说,上代码,

上代码之前,先说下环境:

selenium版本:

<dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-java</artifactId>
          <version>2.44.0</version>
          <type>jar</type>
      </dependency>

系统:win7  amd  64位旗舰版

之前用Firefox35.1死活搞不定,降到31.4一次性成功,搞了大半夜,原来是这个问题(刚刚他妹的还买了个16块包月的vpn去国外查资料,也没查出个所以然   16块白白浪费)。

废话少说,上代码:

webDriver = new FirefoxDriver();
            webDriver.get("http://www.vip.com/");
            JavascriptExecutor js = (JavascriptExecutor) webDriver;
            //js.executeScript(arg0, arg1);
            String tem1 = "0";
            String tem2 = "1";
            while(!tem1.equals(tem2)){
                tem1 = js.executeScript("return window.document.body.scrollHeight; ").toString();
                js.executeScript(" window.scroll(0,window.document.body.scrollHeight); ");
                Thread.sleep(2000);
                tem2 = js.executeScript("return window.document.body.scrollHeight; ").toString();
                System.out.println(tem1+"---"+tem2);
                //System.out.println(o.getClass().getName());
                //js.executeAsyncScript)
            }
            System.out.println(webDriver.findElement(By.xpath("//*[@id='J_comingBrandList']/li[167]/div[1]/a")).getAttribute("class"));
            webDriver.close();

哈哈哈,失望了吧,代码就这么点点!!!

运行结果:

8599---19449
19449---54769
54769---54769
s1_pic_story_link
对结果的说明:

做了个稍微智能的滚动,白天组长用了个指定次数的滚动,稍微有点浪费!我在这里提高了点儿效率。

但是中间那个睡眠时间我觉得还是有提高的余地的,但是具体的还不回用,有空再钻研。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics