HTML 소스 코드로 문자열이 있습니다. 해당 문자열에서 링크 만 가져 와서 이러한 링크를 ArrayList에 넣고 싶습니다. 아시다시피, 나는 <a href="THE LINK I WANT">
사이에 문자열을 넣고 싶습니다. 그러나 외부 라이브러리를 사용하지 않고이 작업을 수행하고 싶습니다. String 클래스와 루프를 사용하여 간단한 알고리즘으로 어떻게 할 수 있습니까? 고맙습니다!HTML 소스 코드에서 링크 가져 오기
답변
나는 대답을 찾았다 !!!!!
public ArrayList<String> getLinks() {
String link = "";
for(int i = 0; i<url.length()-6; i++) {
if(url.charAt(i) == 'h' && url.charAt(i+1) == 'r') {
for(int k = i; k<url.length();k++){
if(url.charAt(k) == '>'){
link = url.substring(i+6,k-1);
links.add(link);
// Break the loop
k = url.length();
}
}
}
}
return links;
Java Regex API
은 목표를 달성하기위한 적절한 도구가 아닙니다. 다른 답변에서 언급 된 효율적이고 안전하며 잘 테스트 된 고급 도구를 사용하십시오.
실생활 문제보다는 정규식 API 아니라 귀하의 질문에 대한 우려는 (예를 들어 목적을 배우기) 경우 - 다음과 같은 코드로 작업을 수행 할 수 있습니다
String html = "foo <a href='link1'>bar</a> baz <a href='link2'>qux</a> foo";
Pattern p = Pattern.compile("<a href='(.*?)'>");
Matcher m = p.matcher(html);
while(m.find()) {
System.out.println(m.group(0));
System.out.println(m.group(1));
}
그리고 출력 :
<a href='link1'>
link1
<a href='link2'>
link2
lazy/reluctant 한정자 *에 유의하십시오. 단일 태그에 대한 그룹화를 줄이기 위해 사용해야합니다. 그룹 0은 전체 일치이고, 그룹 1은 다음 그룹 일치 (다음 괄호 쌍)입니다.
메모
고려해야 할 : HTML에서 값을 끌어 정규식을 사용항상 실수이다. HTML 문법은 훨씬 더 복잡하여 처음에는 나타날 수 있으며 아주 복잡한 정규 표현식조차도 페이지에서 쉽게 찾을 수 있습니다.
대신 HTML Parser을 사용하십시오. 또한 What are the pros and cons of the leading Java HTML parsers?
제 질문에 언급했듯이 외부 라이브러리를 사용하고 싶지 않습니다. 나는 그 해답을 발견했다. 그럼에도 불구하고 귀하의 대답을 주셔서 감사합니다 – El3ctr0n1c4
당신의 대답은 귀하의 답변에 명시된 바와 같이, 그냥 해결 방법입니다 .. 적절한 방법 .. !! 당신은 적어도 당신의 문제를 해결하기 위해 "정규식"을 사용할 수 있습니다 .. !! (그리고 외부 라이브러리가 아닙니다.) –
사실 그것은 단순한 알고리즘을 원하기 때문에 반드시 적절하지는 않습니다. 나는 해결했다 : D – El3ctr0n1c4
- 1. html 파일에서 링크 가져 오기
- 2. html 문서에서 jQuery로 링크 값 가져 오기?
- 3. html 민첩성 팩으로 클래스에서 링크 가져 오기
- 4. Excel-VBA로 HTML 소스 가져 오기
- 5. CSS로 HTML 파일의 소스 가져 오기 인라인
- 6. 프록시를 통해 HTML 소스 가져 오기
- 7. Ruby에서 동적 콘텐츠로 HTML 소스 가져 오기
- 8. JavaScript 조작 후 HTML 소스 가져 오기
- 9. WebView에서 HTML 소스 코드 가져 오기
- 10. HTML 소스 코드를 문자열로 가져 오기
- 11. 적절한 형식으로 html 소스 가져 오기
- 12. 가져 오기 페이지 소스
- 13. Java가 JSOUP을 사용하여 HTML 소스 코드에서 RSS 링크 받기
- 14. 코드에서 DynamicResource 가져 오기
- 15. 소스 코드에서 Viddler 동영상의 고유 ID 가져 오기 (regex/parse_url)
- 16. jquery에서 링크 색상 가져 오기
- 17. HTML 소스 코드에서 iframe URL을 숨기는 방법
- 18. Jquery를 사용하여 링크 가져 오기
- 19. XPath는 PHP를 가져 오기 링크
- 20. 코드에서 URL 리디렉션 가져 오기
- 21. 코드에서 CSproj 경로 가져 오기
- 22. JDBC 코드에서 NullpointerException 가져 오기
- 23. PHP를 사용하여 일부 HTML 코드에서 첫 번째 소스 태그 가져 오기
- 24. HTML 가져 오기 오류
- 25. iframe에서 html 가져 오기
- 26. YouTube에서 비디오 링크 가져 오기
- 27. 값을 사용하여 링크 가져 오기
- 28. 링크 내용을 미리 가져 오기
- 29. 링크 콘텐츠 크기 가져 오기
- 30. Mechanize/Nokogiri에서 링크 가져 오기
왜 HTML 구문 분석 라이브러리를 사용하지 않으시겠습니까? 라이브러리없이이 작업을 제대로 수행하면 상당히 복잡한 작업이 다시 시작됩니다. –
과제이기 때문에 강사가 간단한 알고리즘으로이 작업을 수행하기를 원합니다. 그것은 간단합니까? – El3ctr0n1c4
그렇게 복잡하지는 않습니다. html을 검색하여''를 만나면'href'가 없으므로 다시 시작해야합니다. '