我在我的网站上获取一个网站结果,如果有更多的记录,分页也随之而来,所以它显示分页和记录
这不仅仅是一个问题,而是在我做任何尝试之前,我不知道从哪里开始
这是可能的,我可以通过一些客户端或服务器端对结果进行无限分页,请告诉我们,谢谢
Pagination在cfhttp.filecontent
中看起来像这样:
<TD align="right" width="100"><font class="MainBody">Pages: <a href="http://websiteaddress.com/9.asp?type=10&pagenum=1"><<</a> 1 <a href="http://websiteaddress.com/9.asp?type=10&pagenum=2">2</a> <a href="http://websiteaddress.com/9.asp?type=10&pagenum=2">>></a> </FONT></TD>
答案 0 :(得分:1)
这对你有用。它搜索TD标签,后跟FONT标签,然后是Pages ..然后搜索到第一个结束TD。
结果存储在newfilecontent中。
<cfset newfilecontent = REReplaceNoCase(cfhttp.filecontent,"<td.*?><font.*?>Pages.*?<\/td>","","ALL")>
通过更详细的问题,您所需要的基本上只是一个基本的蜘蛛。
这只是为了从结果的第一页起作用。你不能在第3页说明这一点,并获得第2页和第1页。
<cfhttp...> <!--- initial cfhttp --->
<cfset buildContents = ArrayNew(1)>
<cfset buildContents[1] = ReReplaceNoCase(cfHttp.fileContent,".*<body.*?>(.*)</body>.*","\1","ALL")>
<!--- Quick regex to parse the contents of the body tag out of the cfhttp --->
<cfloop condition="#ReFindNoCase("(http[^""]*?pagenum=\d+)(?="">>>)",currentContent)# gt 0">
<cfset GetNextPage = ReMatchNoCase("(http[^""]*?pagenum=\d+)(?="">>>)",currentContents)>
<cfhttp url="#GetNextPage[1]#"... result="inLoop">
<cfset currentContents = ReReplaceNoCase(inLoop.filecontent,".*<body.*?>(.*)</body>.*","\1","ALL")>
<cfset ArrayAppend(buildContents,REReplaceNoCase(currentContents,"<td.*?><font.*?>Pages.*?<\/td>","","ALL"))>
<cfif ArrayLen(buildContents) gt 10>
<!--- This code is untested, so this is a safety that you can remove or modify. If BuildContents has more than ten elements, it stops the looping. You can remove this cfif or maybe raise the number as a safety net.--->
<cfbreak>
</cfif>
</cfloop>
<cfdump var="#buildContents#">