Абсолютный путь Jsoup - PullRequest
2 голосов
/ 09 мая 2020

Я изо всех сил пытаюсь получить Абсолютные пути для изображений, которые я собираю со своего веб-сайта. Я просмотрел документацию на jsoup.org, но не могу заставить работать abs: sr c. Я не знаю, как реализовать абс: sr c или где его добавить.

<cfhttp method="get" url="https://theculturecook.com/recipe-slowroasted-pork-belly.html" result="theresult">        
<cfscript>
    Jsoup = createObject("java", "org.jsoup.Jsoup");
    html = "#theresult.filecontent#";
    doc = Jsoup.parse(html);
    tags = doc.select("img[src$=.jpg]");
</cfscript>
<cfset images = "">
<cfloop index="e" array="#tags#">
    <cfoutput>
       <cfset images = ListAppend(images,#e.attr("src")#)>
    </cfoutput>
</cfloop>
<cfloop list="#images#" index="a">
    <cfoutput>#a#<br></cfoutput>
</cfloop>

1 Ответ

3 голосов
/ 09 мая 2020

Проблема, с которой вы столкнулись, заключается в том, что вы передаете содержимое html в JSOUP. Если вам нужны абсолютные пути, то для подключения нужно использовать следующий.

Jsoup.connect("https://theculturecook.com/recipe-slowroasted-pork-belly.html").get();

Итак, наконец,

<cfscript>
    Jsoup = createObject("java", "org.jsoup.Jsoup");
    doc = Jsoup.connect("https://theculturecook.com/recipe-slowroasted-pork-belly.html").get();
    tags = doc.select("img[src$=.jpg]");
</cfscript>
<!--- <cfdump var="#a.attr()#" abort> --->
<cfset images = "">
<cfloop index="e" array="#tags#">
    <cfoutput>
       <cfset images = ListAppend(images, e.attr("abs:src"))>
    </cfoutput>
</cfloop>
<cfloop list="#images#" index="a">
    <cfoutput>#a#<br></cfoutput>
</cfloop>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...