제목이 이상합니다. 알아요. 더 잘 설명하는 법을 모르겠습니다.jsoup를 사용하여 특정 시작과 함께 클래스가있는 html을 구문 분석하십시오.
XML을 구문 분석하기 위해 jsoup를 사용하고 있습니다.
Elements dan = doc.select("table.ednevnik-seznam_ur_teden tbody tr:eq(0) th:eq("+i+") div");
"ednevnik-seznam_ur_teden"클래스 이름이 그래서 구문 분석하고 요소 ...
을하지만 지금은 웹 사이트 administator 매일이 있다는 것을 있도록 변경 : 지금까지 그것을 어떻게입니다 다른 클래스 이름. 그것은 여전히 "ednevnik-seznam_ur_teden"으로 시작하지만 거기에 뭔가가 추가되었습니다.
예 : "123 ednevnik-seznam_ur_teden"
단지 클래스 이름의 특정 시작을 찾아 다음 구문 분석 할 수 있습니까? 예를 들어, "ednevnik-seznam"으로 시작하는 calss 이름은 구문 분석합니다.
SQL에서 %와 같은 모든 것을 대체 할 수있는 것.
편집 : 이것은 내가 코드를 변경하고 그것은 여전히 작동하지 않습니다 방법입니다
Elements dan = doc.select("table[class^=ednevnik-seznam_ur_teden] tbody tr:eq(0) th:eq("+i+") div");
심층 설명 : 나는 기꺼이 HTML 코드 그러나 나는를 게시 할 것
그것에 액세스 할 수 없습니다. 그리고 요소를 검사하여 거기에서 복사/붙여 넣기하면 코드가 엉망이됩니다. 그래서 이것은 HTML을 파싱 할 웹 사이트입니다. https://www.easistent.com/urniki/cc45c5d0d303f954588402a186f5cdba5edb51d6/razredi/28396
이것은 지금까지 의 코드입니다.
for (int i = 1; i <= 5; i++)
{
Elements dan = doc.select("table[class^=ednevnik-seznam_ur_teden] tbody tr:eq(0) th:eq("+i+") div");
for (int b = 1; b <= 11; b++)
{
Elements predmeti = doc.select("table[class^=ednevnik-seznam_ur_teden] tbody tr:eq("+b+") td:eq("+predmet+") td[class=text14 bold]");
Elements ucilnice = doc.select("table[class^=ednevnik-seznam_ur_teden] tbody tr:eq("+b+") td:eq("+predmet+") div[class=text11]");
...
그래서 기본적으로 내가 이것으로 무엇을, 내가 특별히 모든 테이블 요소를 구문 분석합니다.
웹 사이트에서 변경 될 때까지 작동했습니다. 이제 테이블 열 요소는 항상 동일한 클래스를 가지지 않습니다. 그들은 항상 "ednevnik-seznam_ur_teden"이었지만 지금은 그들이 어느 날과 일치 하는지를 변경합니다. 현재 강조 표시된 열의 클래스 이름이 다릅니다.
이제이 HTML 파서 코드는 강조 표시된 열을 제외한 모든 것을 구문 분석합니다.
답변 해 주셔서 감사합니다.하지만 슬프게도 작동하지 않습니다. 그것은 ** 정확히 ** "ednevnik-seznamm_ur_teden"이 아닌 클래스를 구문 분석하지 않습니다. 코드를 어떻게 변경했는지 확인하려면 편집을 확인하십시오. – Guy
선택의'tbody tr : eq (0) th : eq ("+ i +") div 부분을 제거 할 수 있습니다. 첫 번째 부분은 클래스 이름으로 시작하는 모든 테이블을 가져와야합니다. –
하지만 테이블의 특정 요소를 구문 분석하려면 해당 부분이 필요합니다. 내가 여기서 뭔가를 놓치고 있니? 더 잘 이해할 수있는 전체 코드를 제공해야합니까? – Guy