获取每个行业百度落地页地址
简单记录一下
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.14.3</version>
</dependency>
package com.geely.indirect.manage.controller;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.FileWriter;
import java.io.IOException;
public class test1 {
public static void main(String[] args) {
// 网站和关键字
String site = "site:aisite.wejianzhan.com";
String keyword = "汽车";
// 构建搜索URL
String searchUrl = "https://www.baidu.com/s?wd=" + site + " " + keyword;
try {
// 发送HTTP GET请求并解析页面
Document doc = Jsoup.connect(searchUrl).get();
// 选择搜索结果的元素
Elements searchResults = doc.select(".t a");
// 创建一个文件来存储结果
try (FileWriter writer = new FileWriter("loupan.txt")) {
// 遍历搜索结果并将链接写入文件
for (Element result : searchResults) {
//找到百度的跳转地址
String link = result.attr("href");
//通过跳转地址找到目标地址
String realUrl = getRealUrl(link);
//判断如果realUrl中包含百度信息流建站页面地址,我们就把这个地址记录下来
if (realUrl.contains("aisite.wejianzhan.com")) {
writer.write(realUrl + "\n");
}
}
}
System.out.println("搜索结果已写入到loupan.txt 文件。");
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 获取真实的目标网址
* @param link
* @return
*/
private static String getRealUrl(String link) {
try {
// 发送 HTTP GET 请求以获取真实目标网址
Document doc = Jsoup.connect(link).get();
return doc.location();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。