Nach zwei Tagen haben ich den folgenden Code erstellt und ihn mit jedem Kollegen geteilt. Das Datenkriechen ist nicht korrekt.
Setzen Sie r = server.createObject (microsoft.xmlhttp)
R.Open bekommen, url, falsch,
R.SetRequestHeader Referer, URL
R.Send
STR1 = B2S (R. ResponseBody)
str1 = ersetzen (str1 ,,,)
Setzen Sie Reg = New Regexp
reg.multiline = true
reg.global = true
Reg.ignoreCase = true
str_top = <font color =#fb5e3c>
str_bottom = </font>
reg.pattern = & str_top & ((. |/n)*?) & str_bottom &
Setzen Sie Matches = Reg.execute (str1)
str1 =
Für jeden Match1 in Spielen
STR1 = Match1.Value
Nächste
Setzen Sie Matches = nichts
Setzen Sie Reg = nichts
str1 = ersetzen (ersetzen (str1, str_top,), str_bottom,)
conn.execute (webtable set pr = '& str1 &' wobei ID = & ID) aktualisieren.
Ende sub
Unterfehler (STR) Wählen Sie Fall STR
Fall 1
Antwort.Write <br> & nbsp; & nbsp; Die Suchmaschine ist leer. Bitte wenden Sie sich an <a href = mailto: [email protected]> [email protected] </a>
Fall 2
Antwort.
Fall 3
Antwort. /html>
Fall 4
response.write <br> & nbsp; & nbsp; Unbekannter Fehler - Daten können nicht krabbelt werden, bitte <font color = blue> <a href = javaScript: location.reload ();> aktualisieren </a> </font> Versuchen Sie es erneut < /body> </html>
Ende auswählen
Antwort.end
End Subsub Google (StRURL, ID, All) url = http: //www.google.cn/search? Complete = 1 & hl = zh-cn & q = Site%3A & StRURL && Meta =
STR = Gethttppage (URL)
Wenn Str = dann
conn.execute (webtable aktualisieren google = '0' wobei id = & id)
anders
Setzen Sie Reg = New Regexp
reg.multiline = true
reg.global = false
Reg.ignoreCase = true
str_top = <td align = momentan nowrap> <font size = -1>
str_bottom = </font> </td> </tr> </table>
reg.pattern = & str_top & ((.)*) & str_bottom &
Setzen Sie Matches = Reg.execute (str)
Für jeden Match1 in Spielen
STR = Match1.Value
Nächste
Setzen Sie Matches = nichts
If instr (STR, <html>) = 1 dann
STR2 = 0
anders
STR = Split (str, </b>)
str1 = str (3)
STR2 = Split (str1, <b>) (1)
Ende wenn
Wenn Str2 = oder Len (str2)> 200 dann
conn.execute (webtable aktualisieren google = '0' wobei id = & id)
anders
conn.execute (webtable aktualisieren google = '& str2 &' wobei id = & id)
Ende wenn
Ende wenn
Ende subsub baidu (str, id, alle) 'call print_do (baidu) wenn alles = n dann
url = http: //www.baidu.com/s? Wd = Site%3a & str && cl = 3
anders
Strext = split (str ,.)
url = http: //www.baidu.com/s? wd = & stext (0) && cl = 3
Ende wenn
'response.write (<br> baidus url: & url) if isobjinstalled (ashtttp.conn) = than dann
STR = getaPhttppage (URL)
anders
STR = Gethttppage (URL)
Ende wenn
Wenn Str = dann
Anruffehler (4)
anders
Setzen Sie Reg = New Regexp
reg.multiline = true
reg.global = false
Reg.ignoreCase = true
str_top = <td align = momentan nowrap>
str_bottom = </td>
reg.pattern = & str_top & ((. |/n)*?) & str_bottom &
Setzen Sie Matches = Reg.execute (str)
Für jeden Match1 in Spielen
STR = Match1.Value
Nächste
Setzen Sie Matches = nichts
Setzen Sie Reg = NothingResponse.write <br>
'response.write & nbsp; & nbsp;
Wenn Str = oder len (str)> 200 dann
conn.execute (webtable set baidu = '0' wobei id = & id)
anders
Wenn instr (str (str, ungefähr) = 0 dann
tastew = Seite
anders
tastew = ungefähr
Ende wenn
STR = MID (STR, (Instrumente (str, keyw) +1), (Instrumente (STR, Artikel) -instr (str, keyw) -1)))
Antwort.Write str
conn.execute (webtable set baidu = '& ersetzen (ersetzen (str ,,,) ,,) &' wobei id = & id)
Ende wenn
Ende wenn
Ende Subsub Alexa (StRURL, ID)
url = http: //www.alexa.com/data/details/traffic_details? q = & url = & stRURL
Setzen Sie r = server.createObject (microsoft.xmlhttp)
R.Open bekommen, url, falsch,
R.SetRequestHeader Referer, URL
R.Send
STR1 = Bytes2bstr (R. ResponseBody)
str1 = ersetzen (str1 ,,,)
Setzen Sie Reg = New Regexp
reg.multiline = true
reg.global = true
Reg.ignoreCase = true
str_top = <!-Wussten Sie?
str_bottom = </span> <br>
reg.pattern = & str_top & ((. |/n)*?) & str_bottom &
Setzen Sie Matches = Reg.execute (str1)
str1 =
Für jeden Match1 in Spielen
STR1 = STR1 & Match1.Value
Nächste
Setzen Sie Matches = nichts
Setzen Sie Reg = nichts
STR1 = Ersetzen (Str1, <!-Wussten Sie?
Wenn Str1 <> dann
STR1 = Ersetzen (str1, <span klasse,)
str1 = ersetzen (str1, </span> </span>,),)
str1 = ersetzen (str1 ,,)
str1 = ersetzen (str1,,)
str1 = split (str1, <br>) (0)
Wenn cstr (rechts (str1,7)) = </span> dann
STR1 = links (Trim (Str1), Len (str1) -7)
Ende wenn
Wenn isnumerisch (STR1) dann
num = str1
anders
CSSTXT = getalexacss ()
num =
str1 = split (str1, </span>)
für i = 0 bis ubund (str1)
STR2 = str1 (i)
Wenn Sie links (str2, instr2, =)) <> dann
Num = Num & links (str2, Instr2 (str2, =)-1)
str2 = rechts (str2, len (str2) -instr (str2, =))
Ende wenn
STR3 = Split (str2,>)
für J = 0 bis Ubund (STR3)
nächste
Wenn Str3 (0) <> dann
Wenn nicht ist nicht tätig (str3 (0)), dann ist es
If instr (cStxt, str3 (0)) = 0 dann
Num = num & str3 (1)
Ende wenn
Ende wenn
Ende wenn
nächste
Ende wenn
anders
Num = 0
Ende wenn
SQL = Aktualisieren Sie Webtable set Alexa = '& num &' wobei id = & id
response.write (<Script> alert ('& sql &') </script>)
Conn.Execute (SQL)
Endunterfunktion B2S (STR)
Dim o
Setzen Sie o = server.createObject (adodb.stream)
O.Type = 1
O.Mode = 3
O.Open
O.Write Str
O.Position = 0
O.Type = 2
O.CharSet = GB2312
B2S = O.Readtext
O.CLOSE
Setzen Sie o = nichts
Endfunktion 'Get Alexas Stylesheet
Funktion getalexacss ()
url = http: //client.alexa.com/common/css/scramble.css
Wenn isobjinstalliert (ashtttp.conn) = true dann
STR = getaPhttppage (URL)
anders
STR = Gethttppage (URL)
Ende wenn
Getalexacss = str
Endfunktionen sub print_do (str)
response.write <Script>
Antwort.Write -Funktion Hiddenload ()
response.write {
response.write parent.do & str & .style.display = 'none';
response.write}
response.write </script>
Antwort.
End -Subfunktion Gethttppage (URL)
Bei der nächsten Fehleraufnahme als nächstes
Dim Http
Setzen Sie http = server.createObject (microsoft.xmlhttp)
Http.open bekommen, url, falsch
Http.send ()
Wenn http.readystate <> 4 dann
Ausgangsfunktion
Ende wenn
getttppage = bytes2bstr (http.responsebody)
Setzen Sie http = nichts
Wenn err.number <> 0 dann err.clear
Endfunktionsfunktionsfunktion Bytes2bstr (VIN)
Dim Bytessstream, StringReturn
Bytintream = server.createObject (adodb.stream) setzen
Bytessstream.type = 2
Bytessstream.open
Bytessstream.writeText vin
Bytessstream.position = 0
Bytessstream.charset = gb2312
Bytessstream.position = 2
StringReturn = bytessstream.readText
Bytessstream.close
Bytessstream einstellen = nichts
Bytes2bstr = StringReturn
Endfunktionsfunktionsfunktion getaPhttppage (URL)
Wenn url = dann
Ausgangsfunktion
Ende wenn
Setzen Sie httpobj = server.createObject (ASPHTTP.Conn)
'Richten Sie einen Proxy -Server ein, Benutzer, die den Proxy zum Zugriff auf das Internet verwenden, müssen diese Option festlegen
Wenn Proxyip = 1 dann
Httpobj.proxy = 192.168.5.254: 808
Ende wenn
Httpobj.timeout = 45
Httpobj.url = url
Httpobj.requestMethod = GET
getaphttppage = httpobj.geturl
Setzen Sie httpobj = nichts
Endfunktionsfunktionsfunktion Isobjinstalled (StrclassString)
Bei der nächsten Fehleraufnahme als nächstes
Isobjinstalled = false
Err = 0
Dim Xtestobj
Setzen Sie xtestOBJ = server.createObject (strclassString) Wenn 0 = errand, dann
Wenn ärphttpopen = 1 dann
Isobjinstalled = true
'Response.write Current Component ASPHTTP
Anders
Isobjinstalled = false
'Response.write Current Component XMLHTTP
Ende wenn
Anders
Isobjinstalled = false
'Response.write Current Component XMLHTTP
Ende wenn set xtestObj = nichts
Err = 0
Endfunktion