gpt4 book ai didi

java - 使用 Jsoup 进行必应搜索 - 如何避免验证码?

转载 作者:行者123 更新时间:2023-12-04 16:48:45 28 4
gpt4 key购买 nike

keywordexist = false;
try {
res = Jsoup
.connect(
bingSearchUrl.replaceAll("keyword", "intitle:\""
+ keyword + "\""))
.userAgent(
"Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 Safari/537.15")
.referrer("http://www.bing.com")
.method(Connection.Method.GET).execute();
doc = res.parse();
System.out.println(bingSearchUrl.replaceAll("keyword", "intitle:\""
+ keyword + "\""));
elements = doc.select("li[class^=b_algo]");
System.out.println(doc.html());
System.out.println(elements.html());
// String divContents =
// doc.select(".id-app-orig-desc").first().text();
// elements.remove("div");
if (elements.html().contains("<strong>" + keyword + "</strong>")) {
keywordexist = true;
System.out.println("keyword exists");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

我正在尝试使用 jsoup 检查 Bing 搜索中的关键字列表,但每当我运行我的程序时,jsoup 将始终连接到 Bing 的验证码页面,有什么方法可以避免这种情况吗?我认为这可以通过添加用户代理和引荐来源网址来解决,但它似乎没有任何效果。

最佳答案

我使用了与您类似的代码并获得了所有结果。但是我注意到两点:

  • 我认为你应该在两次搜索之间放慢速度。例如,添加 3000 到 5000 毫秒的随机停顿。

  • 不要忘记对查询参数进行转义

示例代码

String bingSearchUrl = "http://www.bing.com/search?q=keyword";
String keyword = "stackoverflow jsoup";

String uaString = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 Safari/537.15";
String url = bingSearchUrl.replaceAll("keyword", URLEncoder.encode("intitle:\"" + keyword + "\"", "UTF-8"));

Document doc = Jsoup.connect(url).userAgent(uaString).get();

System.out.println(doc.select("li h2"));

关于java - 使用 Jsoup 进行必应搜索 - 如何避免验证码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31764326/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com