两天不写代码手就生的很,更不要说这好几天了。。。
刚上手手生,显示熟悉自己以前写的代码,还好自己的注释写的多,一会就了解个大概。
说说回来之后学的东西: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 }
在我看的视频里:
具体的jsoup知识点链接:
https://www.open-open.com/jsoup/
我呢,主要学习了针对String类型的HTML的解析,如下:
这里我们选择第一个,括号里面已经提示我们这是String了,所以将源码以String类型传入,并转型为Document类型
然后对这个Document类型处理:
这里给我们提供了很多定位方法,由于首都之窗的页面结构较为复杂,所以我还没精准定位到,还有待研究。
明天继续。。。。