我需要从网页来源获取图片。
我可以使用cfhttp方法获取并使用htmleditformat()从该页面读取html,现在我需要遍历内容以获取所有图像url(src)
我可以使用rematch()或refind()等...如果是,如何?
请帮助!!!!!
如果我不清楚我可以尝试澄清..
答案 0 :(得分:3)
答案 1 :(得分:1)
这是一个可能会在许多不良情况下绊倒的功能,但如果您只是需要快速和肮脏的东西,它可能会起作用。
<cffunction name="getSrcAttributes" access="public" output="No">
<cfargument name="pageContents" required="Yes" type="string" default="" />
<cfset var continueSearch = true />
<cfset var cursor = "" />
<cfset var startPos = 0 />
<cfset var finalPos = 0 />
<cfset var images = ArrayNew(1) />
<cfloop condition="continueSearch eq true">
<cfset cursor = REFindNoCase("src\=?[\""\']", arguments.pageContents, startPos, true) />
<cfif cursor.pos[1] neq 0>
<cfset startPos = (cursor.pos[1] + cursor.len[1]) />
<cfset finalPos = REFindNoCase("[\""\'\s]", arguments.pageContents, startPos) />
<cfset imgSrc = Mid(arguments.pageContents, startPos, finalPos - startPos) />
<cfset ArrayAppend(images, imgSrc) />
<cfelse>
<cfset continueSearch = false />
</cfif>
</cfloop>
<cfreturn images>
</cffunction>
注意:我目前无法验证此代码是否有效。
答案 2 :(得分:1)
使用浏览器和jQuery“查询”来自DOM的所有img标签可能更容易......