【问题标题】:Web Scraping with Java/Jsoup使用 Java/Jsoup 进行网页抓取
【发布时间】:2018-07-21 16:01:56
【问题描述】:

我正在尝试从 GlassDoor 中提取平均工资。 这是它所在的 HTML 代码:

<span class="OccMedianBasePayStyle__payNumber" data-test="AveragePay">$118,034</span>

这是我目前所拥有的.. 此代码输出我想要的行,但我不知道如何从 data-test="AveragePay" 中提取薪水

public class Trans {

    public static void main(String[] args) {
        String url = "https://www.glassdoor.com/Salaries/seattle-software-engineer-salary-SRCH_IL.0,7_IM781_KO8,25.htm";
        Document document = null;
        try {
            document = Jsoup.connect(url).get();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //a with href
        Elements links = document.select("span");

        for (Element link : links) {

            System.out.println("Text: " + link.getElementsByAttributeValueContaining("data-test", "Average"));

            //System.out.println("Text: " + link.text()); 
        }

【问题讨论】:

  • 你的问题到底是什么?
  • 我的输出只是输出值,我不知道如何确定我想要的值。我希望能够输出“data-test="AveragePay" 的值
  • 我昨天开始抓取网页,所以我可能走错了路。我只是不知道如何从我想要的特定位置提取数据。

标签: java html web-scraping jsoup


【解决方案1】:

您没有使用正确的选择器。您应该使用跨度传递 data-test="AveragePay"。

将您的选择器和 for 循环更改为此,它基本上只选择具有 span[data-test="AveragePay"] 的元素

public static void main(String[] args) {
        String url = "https://www.glassdoor.com/Salaries/seattle-software-engineer-salary-SRCH_IL.0,7_IM781_KO8,25.htm";
        Document document = null;
        try {
            document = Jsoup.connect(url).get();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //a with href
        Elements links = document.select("span[data-test='AveragePay']");

        for (Element link : links) {                
            System.out.println("Text: " + link.text());     
        }
 }

注意:我希望这仅用于教育目的。 Web Scraping 有一些法律限制。在将其用于任何商业目的之前,您需要查看目标网站的条款和条件。

【讨论】:

  • 当我尝试这样做时,没有任何输出。还缺什么吗?
  • 我不确定。我用链接尝试了相同的代码,它工作正常。我正在粘贴完整的代码。
  • 我让它开始工作了,我必须去掉 AveragePay 周围的 ' 符号
猜你喜欢
  • 1970-01-01
  • 2015-07-21
  • 2015-02-27
  • 1970-01-01
  • 2018-10-15
  • 2013-10-26
  • 2019-04-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多