Чтобы получить все ссылки/URL-адреса из вашего веб-браузера, вам понадобится html-парсер для итерации содержимого страницы. Затем вы можете закодировать список результатов и проверить, содержит ли он ваш Youtube Channel url или URL-адрес, который вы ищете.
1) Вы можете использовать jsoup, это пример (взятый из here):
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
Elements links = doc.select("a[href]"); // get all "a" elements with "href"
Elements pngs = doc.select("img[src$=.png]");// get all "img" with src ending .png
Element masthead = doc.select("div.masthead").first();
2) или использовать HTML Parser библиотеку.
public static List<String> getLinksOnPage(final String url) {
final Parser htmlParser = new Parser(url);
final List<String> result = new LinkedList<String>();
try {
final NodeList tagNodeList = htmlParser.extractAllNodesThatMatch(new NodeClassFilter(LinkTag.class));
for (int j = 0; j < tagNodeList.size(); j++) {
final LinkTag loopLink = (LinkTag) tagNodeList.elementAt(j);
final String loopLinkStr = loopLink.getLink();
result.add(loopLinkStr);
}
} catch (ParserException e) {
e.printStackTrace(); // TODO handle error
}
return result;
}
3) или создать свой собственный парсер, что-то вроде:
String HTMLPage; // get the HTML page as a String
Pattern linkPattern = Pattern.compile("(<a[^>]+>.+?</a>)", Pattern.CASE_INSENSITIVE|Pattern.DOTALL);
Matcher pageMatcher = linkPattern.matcher(HTMLPage);
ArrayList<String> links = new ArrayList<String>();
while(pageMatcher.find()){
links.add(pageMatcher.group());
}
links
ArrayList будет содержит все ссылки на страницы.
PS: Вы можете отредактировать linkPattern
, чтобы отфильтровать некоторые ссылки.
Что вы подразумеваете под «* i want to know url of help *»? – Rami
@Raid это был пример я просто хочу знать один конкретный URL с сайта без щелчка на нем для примера URL, моего канала со страницей Youtube.com – user3565993