zoukankan      html  css  js  c++  java
  • 寒假日报day8

    两天不写代码手就生的很,更不要说这好几天了。。。

    刚上手手生,显示熟悉自己以前写的代码,还好自己的注释写的多,一会就了解个大概。

    说说回来之后学的东西:jsoup针对之前自己不能完美的结合selenium与webmaigc,导致自己停步不前,后来我单独使用selenium得到网页源码,在使用jsoup对String类型的网页源码处理,初步处理还是很,不顺利,因为它的相同属性太多,而找到下一页比较简单,但难就难在如何获取具体页面的内容,这个在一千使用webmagic的时候比较好处理,因为他的定位比较精细,现在使用jsoup呢,由于是刚上手接触,比较不熟悉,所以暂时还没解决。在未来几天我会加速处理,争取早日解决这个问题。

    先来捧上我的学习视频链接:https://www.bilibili.com/video/av68932809?p=28

    以下是我今天的代码:

     1 package com.ms.work;
     2 
     3 import org.jsoup.Jsoup;
     4 import org.jsoup.nodes.Document;
     5 import org.jsoup.select.Elements;
     6 import org.openqa.selenium.JavascriptExecutor;
     7 import org.openqa.selenium.chrome.ChromeDriver;
     8 
     9 
    10 public class SeleniumForWork {
    11 
    12     
    13     //执行函数
    14     public static void main(String[] args) {
    15         //启动ChromeDriver
    16         ChromeDriver chromeDriver = new ChromeDriver();
    17         //获取网址
    18         chromeDriver.get("http://www.beijing.gov.cn/hudong/hdjl/com.web.search.mailList.flow");
    19         //通过下一页获取网页内容
    20         for(int i=1;i<2;i++)
    21         {
    22             System.out.println("第"+i+"次:");
    23             getNextPageByNextButton(chromeDriver);
    24             
    25         }
    26     }
    27 
    28     private static void getNextPageByNextButton(ChromeDriver chromeDriver) {
    29         // TODO Auto-generated method stub
    30         //通过js实现页面跳转
    31         JavascriptExecutor driver_js=((JavascriptExecutor) chromeDriver);
    32         driver_js.executeScript("pageTurning(3);");
    33         //每次等待3秒
    34         try {
    35             Thread.sleep(3000);
    36         } catch (InterruptedException e) {
    37             // TODO Auto-generated catch block
    38             e.printStackTrace();
    39         }
    40         //得到首页源码
    41         String pageHtml=chromeDriver.getPageSource();
    42         //pageHtml.
    43         Document documentFirst = Jsoup.parse(pageHtml);
    44         //System.out.println(document.getElementById("mailul").text());
    45         Elements elementFirst= documentFirst.getElementsByClass("row clearfix  my-2 list-group o-border-bottom2 p-3");
    46         System.out.println(elementFirst);
    47         
    48         //System.out.println(document.getElementsByClass("row clearfix  my-2 list-group o-border-bottom2 p-3").first().text());
    49     }
    50 }
    View Code

    在我看的视频里:

    具体的jsoup知识点链接:

    https://www.open-open.com/jsoup/

    我呢,主要学习了针对String类型的HTML的解析,如下:

     这里我们选择第一个,括号里面已经提示我们这是String了,所以将源码以String类型传入,并转型为Document类型

     然后对这个Document类型处理:

     这里给我们提供了很多定位方法,由于首都之窗的页面结构较为复杂,所以我还没精准定位到,还有待研究。

    明天继续。。。。

  • 相关阅读:
    Jquery之高亮显示
    JS之旋转轮播图
    JS之手风琴效果
    JS之评价页面点亮星星进行评价
    JS之京东淘宝图片放大镜效果
    JS之表单验证
    JS之拖拽案例
    禁止文本选中
    大数据告诉你:学历真的能改变命运
    hadoop的自定义分组实现 (Partition机制)
  • 原文地址:https://www.cnblogs.com/msdog/p/12249626.html
Copyright © 2011-2022 走看看