gpt4 book ai didi

java - JSoup 内容与使用桌面 Web 浏览器时不同

转载 作者:行者123 更新时间:2023-12-01 22:06:06 25 4
gpt4 key购买 nike

我正在做一个项目。我需要弄清楚用户输入的电话号码的状态和运营商。我尝试使用 jsoup 建立 url 连接并尝试检索位置和运算符。但它不起作用。

代码是:

 public class WebScraper {
public static void main(String args[]) throws IOException {
//String url;
String mobileNumber = "9566171277";
String url ="http://trace.bharatiyamobile.com/?numb="+mobileNumber;
Document doc = Jsoup.connect(url).get();
Elements links = doc.select("span.bluetext");
// Elements media = doc.select("[src]");
// Element imports = doc.select("div.eachStory").first();
//Elements resultLinks = doc.select("table>tbody>tr");

// PrintWriter out = new PrintWriter(new BufferedWriter(new
// FileWriter("Data.txt", true)));
for (int i = 0; i < links.size(); i++) {
System.out.println(links.get(i).text());
// out.println(resultLinks.get(i));
}
}
}

编辑:我更改了标题,因为问题的解决方案实际上与旧倾斜的细节无关。这是

How to get location and operator of mobile number using java program?

最佳答案

我查看了浏览器中的网络流量,并将其与通过代码获得的文档进行了比较。事实证明,网络服务器使用 userAgent 字符串进行某些操作,并且必须将其设置为通用网络浏览器。幸运的是你可以do this in Jsoup 。如果你尝试这样做,它会起作用:

String ua = "Mozilla/5.0 ;Windows NT 6.1; "
+ "WOW64; AppleWebKit/537.36 ;KHTML, like Gecko; "
+ "Chrome/39.0.2171.95 Safari/537.36";
Document doc = Jsoup.connect(url)
.userAgent(ua)
.get();
Elements links = doc.select("span.bluetext");

常见的 userAgent 字符串可以在网络上的许多地方找到,例如http://whatsmyuseragent.com/CommonUserAgentshttp://www.useragentstring.com/pages/Firefox/

关于java - JSoup 内容与使用桌面 Web 浏览器时不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32754166/

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