使用coldfusion消除数据障碍
我正在做一个刮,我需要提取的网站信息,基本上是给内部网页的链接 这是我的一次小尝试,我可以得到各州的名称,但我现在需要更深入,因为我承认,我非常不擅长正则表达式 请导游。这是我的密码使用coldfusion消除数据障碍,coldfusion,screen-scraping,Coldfusion,Screen Scraping,我正在做一个刮,我需要提取的网站信息,基本上是给内部网页的链接 这是我的一次小尝试,我可以得到各州的名称,但我现在需要更深入,因为我承认,我非常不擅长正则表达式 请导游。这是我的密码 <cfscript> function stripHTML(str) { str = reReplaceNoCase(str, "<*style.*?>(.*?)</style>","","all"); str = reReplaceNoCase(str, "&l
<cfscript>
function stripHTML(str) {
str = reReplaceNoCase(str, "<*style.*?>(.*?)</style>","","all");
str = reReplaceNoCase(str, "<*script.*?>(.*?)</script>","","all");
str = reReplaceNoCase(str, "<.*?>","","all");
str = reReplaceNoCase(str, "^.*?>","");
str = reReplaceNoCase(str, "<.*$","");
return trim(str);
}
</cfscript>
<cfset start = false>
<cfhttp url="http://www.mapsofindia.com/pincode/" method="get"></cfhttp>
<cfset status = cfhttp.Statuscode>
<cfif status IS '200 OK'>
<cfset start = true>
</cfif>
<cfif start>
<cfset string = cfhttp.filecontent />
<cfset StartText = '<table cellpadding=4 cellspacing=0 align="center" border="0" class=extrtable width="90%">' />
<cfset Start = FindNoCase(StartText, string, 1) />
<cfset EndText='<td style="width:50%"> </td></tr></table><br /><br />' />
<cfset Length=Len(StartText) />
<cfset End = FindNoCase(EndText, string, Start) />
<cfset parse = Mid(string, Start+Length, End-Start-Length) />
<cfset parse = Insert('+',parse,FindNoCase("</a>", parse))>
<cfset parse = trim(parse) />
<cfset dbData = stripHTML(ListQualify(parse,'+'))>
<cfloop list="#createLst#" index="k" delimiters="+">
<cfquery name="insert_data" datasource="#request.dsn#">
INSERT INTO cw_states(state,countrycode,country)
VALUES('#k#','IN','India')
</cfquery>
</cfloop>
<table align="center">
<cfoutput>#parse#<br></cfoutput>
</tr>
</table>
</cfif>
函数stripHTML(str){
str=再置换酶(str,(.*?),“”和“全部”);
str=再置换酶(str,(.*?),“”和“全部”);
str=再置换酶(str,“,”,“all”);
str=再置换酶(str,“^.*?>”,“);
str=再置换酶(str,"我建议您使用JSoup,而不是试图对正则表达式执行此操作。巧合的是,我在周末做了一个类似的任务,并在博客上对此进行了讨论。这可能会对JSoup有帮助:+1。我也使用过很多次它,这无疑会使抓取和一般HTML片段解析变得相对简单。如果您能够很好地处理CSS/jQuery选择器,很容易理解如何使用JSoup。JSoup看起来不错,但有了它,我需要花时间来真正学习所有内容,现在它可以作为正则表达式来完成吗,因为我的时间不多了