加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java +selenium 爬Boss直聘中职位信息,薪资水平和职位描述

发布时间:2020-12-14 06:15:00 所属栏目:Java 来源:网络整理
导读:div class="cnblogs_Highlighter" pre class="brush:java;collapse:true;;gutter:true;"import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; i

<div class="cnblogs_Highlighter">
<pre class="brush:java;collapse:true;;gutter:true;">import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

import java.util.List;

public class BossSpider {

public static void spider() {// 爬虫
    System.out.println("------Begin--------------");
    //String url ="https://m.zhipin.com/weijd/v2/job/41e876ca76f18ca51XVz0925ElI~";
    String url = "https://m.zhipin.com/weijd/v2/job/cc53ec27840e3f810nN42967FQ~~";

  System.setProperty("webdriver.chrome.driver","/Tool/chromedriver");
   WebDriver driver = new ChromeDriver();
    driver.get(url);

    (new WebDriverWait(driver,30)).until(new ExpectedCondition<Boolean>() {
        public Boolean apply(WebDriver dr) {
            int index = dr.getPageSource().indexOf("boss-message");
            if (index != -1) {
                return true; // 找到,退出等待
            } else {
                return false; // 未找到,继续等待
            }
        }
    });


    WebElement bossname = driver.findElement(By.cssSelector("div.boss-message"));
    System.out.println(bossname.getText());;

    List<WebElement> eleBoxs = driver.findElements(By.cssSelector("div.rec-position"));
    for (WebElement eleBox : eleBoxs) {
        WebElement eleTitle = eleBox.findElement(By.cssSelector("p.name"));
        WebElement eleAnswer = eleBox.findElement(By.cssSelector("p.salary"));
        System.out.println(eleTitle.getText() +"   薪资水平: "+eleAnswer.getText());
    }
    WebElement strength = driver.findElement(By.cssSelector("div.tags-position"));
    System.out.println(strength.getText());;


   // WebElement jobdetails = driver.findElement(By.xpath(".//*[@id='container']/div[2]/div[3]/div[2]/div[1]"));
    WebElement jobdetails = driver.findElement(By.className("detail-text"));


    System.out.println(jobdetails.getText());
    driver.quit();


}

public static void main(String[] args) {
    BossSpider.spider();
}

}

  以前看到各个岗位到招聘信息一直在截图,心想着有没有简便办法将需要到信息输出来。今天有兴致,写了写代码。如上。

部分BOSS直聘中元素稍微有异,遇到找不到元素到情况,自己稍稍修改哦。

以下是我到截图:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读