如何解决如何在java中从谷歌获取特定的图片网址
我想从google获取第一个结果的图片地址并保存到excel表中。我使用 apache poi 库来读取 excel 表。 我想要每个图像的 src 数据。另一件事是图像中的 src 数据未满。我们必须双击它才能复制整个数据。 我试过 jsoup 库,但没有得到正确的结果。请建议我进行任何更改。
package com.uc.excel;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Iterator;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class ReadExcelFileDemo {
public static void main(String...args) throws IOException {
final String GOOGLE_SEARCH_URL ="https://www.google.com/search?q=";
//https://www.google.co.in/search?q=usa&hl=en&tbm=isch
FileInputStream fis=new FileInputStream(new File("C:\\users\\hvt\\desktop\\country.xlsx"));
XSSFWorkbook wb = new XSSFWorkbook(fis);
XSSFSheet sheet = wb.getSheetAt(0); //creating a Sheet object to retrieve object
Iterator<Row> itr = sheet.iterator(); //iterating over excel file
while (itr.hasNext())
{
Row row = itr.next();
Iterator<Cell> cellIterator = row.cellIterator(); //iterating over each column
while (cellIterator.hasNext())
{
Cell cell = cellIterator.next();
System.out.print(cell.getStringCellValue() + "\t\t\t");
String searchURL=GOOGLE_SEARCH_URL+cell.getStringCellValue()+" flag"+"&hl=en&tbm=isch";
System.out.print(searchURL);
Document doc = Jsoup.connect(searchURL).get();
Elements link = doc.select("img.rg_i Q4LuWd");
System.out.println("link2 " +link.attr("src"));
System.out.println("link2 " +link.toString());
}
System.out.println("");
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。