Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java/Jsoup进行Web抓取_Java_Html_Web Scraping_Jsoup - Fatal编程技术网

使用Java/Jsoup进行Web抓取

使用Java/Jsoup进行Web抓取,java,html,web-scraping,jsoup,Java,Html,Web Scraping,Jsoup,我试图从GlassDoor那里获得平均工资。 这是HTML代码的位置: <span class="OccMedianBasePayStyle__payNumber" data-test="AveragePay">$118,034</span> 您没有使用正确的选择器。您应该通过数据测试=“AveragePay”,测试范围为 将选择器和for循环更改为此,它基本上只选择具有span[data test=“AveragePay”]的元素 注:我希望这只是出于教育目的。网络抓

我试图从GlassDoor那里获得平均工资。 这是HTML代码的位置:

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

您没有使用正确的选择器。您应该通过数据测试=“AveragePay”,测试范围为

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


注:我希望这只是出于教育目的。网络抓取有一些法律限制。在将其用于任何商业用途之前,您需要检查目标站点的条款和条件。

您到底有什么问题?我的输出只是输出值,我不知道如何精确定位我想要的值。我希望能够输出“data test=”AveragePay的值“我昨天开始抓网,所以我可能走错了方向。我只是不知道如何从我想要的特定点提取数据。当我尝试这样做时,什么都没有输出。还有什么遗漏吗?我不确定。我尝试了相同的代码与链接和它的工作良好。我正在粘贴完整的代码。我让它工作了,我不得不去掉“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()); 
        }
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());     
        }
 }