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

 

 需要下载合适的selenium webdirver jar包和对应浏览器的驱动jar包

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/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直聘中元素稍微有异,可能是职位发布者,并没有将岗位信息填写在指定的位置

遇到找不到元素到情况,自己稍稍修改哦。

 

以下是我到截图:【话说这家公司居然有18薪,无比羡慕 ❤】

 

转载于:https://www.cnblogs.com/qianjinyan/p/9245871.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值