Certaines personnes considèrent le robot comme un trésor. Jusqu'à présent, certaines personnes vendent du TND pour de l'argent. Je critique fortement ces gars-là pour ce qu'ils sont ! Peut-être que les éléments ci-dessous sont un peu nuls.
Celui ci-dessous n'a pas pour fonction d'écrire dans la bibliothèque. Nous avons atteint cette étape. La fonction d'entrée dans la bibliothèque est très simple. Veuillez la compléter vous-même si nécessaire. Copiez le code et exécutez-le directement pour voir l'effet
Dim Url, List_PageCode, Array_ArticleID, i, ArticleID
Dim Content_PageCode,Content_TempCode
Dim Content_CategoryID, Content_CategoryName, BorderID, ClassID, BorderName, ClassName
Dim Titre de l'article, Auteur de l'article, ArticleFrom, ArticleContent
URL = http://www.webasp.net/article/class/1.htm
List_PageCode = getHTTPPage(Url)
List_PageCode = RegExpText(List_PageCode, print</th></tr>,</table><table border=0 cellpadding=5,0)
List_PageCode = RegExpText(List_PageCode,<td align=left><a href='../,'><img border=0 src='../images/authortype0.gif',1)'Obtenir les articles du courant page de liste Liens, séparés par
Array_ArticleID = Split(List_PageCode,,)'Créer un tableau pour stocker les ID d'article
Pour i = 0 vers Ubound (Array_ArticleID) -1
ArticleID = Array_ArticleID(i)'ID de l'article
Content_PageCode = getHTTPPage(http://www.webasp.net/article/&ArticleID) 'Récupérer le contenu de la page de l'article
'==========Obtenir la catégorie d'article et les paramètres d'identification associés pour démarrer=========================
Content_TempCode = RegExpText(Content_PageCode,<a href=/article/>Tutoriel technique</a> >> ,>> Contenu</td>,0)
Content_CategoryID = RegExpText(Content_PageCode,<a href='../class,/'>,1)
BorderID = Split(Content_CategoryID,,)(0)'ID de catégorie
ClassID = Split(Content_CategoryID,,)(1)'ID de sous-classe
'==========Vérifiez si la catégorie principale existeDébut================
'S'il n'existe pas, stockez-le dans la base de données
'==========Vérifiez si la catégorie principale existeFin================
'Response.Write(BorderID & , & ClassID & <br />)
Content_CategoryName = RegExpText(Content_PageCode,/'>,</a>,1)
BorderName = Split(Content_CategoryName,,)(0)'Nom de la catégorie
ClassName = Split(Content_CategoryName,,)(1)'Nom de la sous-classe
'==========Vérifiez si la sous-classe existeStart================
'S'il n'existe pas, stockez-le dans la base de données
'==========Vérifier si la sous-classe existe end================
'==========Fin de l'obtention de la classification de l'article et des paramètres d'identification associés=========================
'==========Obtenez le titre et le contenu de l'article et commencez============================== =
ArticleTitle = RegExpText(Content_PageCode,<tr><td align=center bgcolor=#DEE2F5><strong>,</strong></td></tr>,0)
ArticleAuthor = RegExpText(Content_PageCode,<tr><td><span class=blue>Auteur :</span>,</td></tr>,0)
ArticleFrom = RegExpText(Content_PageCode,<tr><td><span class=blue>Source :</span>,</td></tr>,0)
ArticleContent = RegExpText(Content_PageCode,<tr><td class=content style=WORD-WRAP: break-word id=zoom>,</td></tr>&VBCrlf& </table>&VBCrlf& </td></tr> </table>,0)
'==========Obtenir le titre et le contenu de l'article fin===============================
Réponse.Write(TitreArticle& <br /><br />)
Réponse.Flush()
Suivant
Ci-joint quelques fonctions :
Fonction getHTTPPage(url)
SI (IsObjInstalled (Microsoft.XMLHTTP) = False) ALORS
Response.Write <br><br>Le serveur ne prend pas en charge le composant Microsoft.XMLHTTP
Err.Effacer
Réponse.Fin
FIN SI
En cas d'erreur, reprendre ensuite
Faible http
SET http=Serveur.CreateObject(Msxml2.XMLHTTP)
Http.open GET,url,False
Http.envoyer()
SI(Http.readystate<>4)ALORS
Fonction de sortie
FIN SI
getHTTPPage=BytesToBSTR(Http.responseBody,GB2312)
FIXER http=RIEN
SI(Err.numéro<>0)ALORS
Response.Write <br><br>Erreur lors de l'obtention du contenu du fichier
'Réponse.Fin
Err.Effacer
FIN SI
Fonction de fin
Fonction BytesToBstr (CodeBody, CodeSet)
Dim objStream
SET objStream = Serveur.CreateObject (adodb.stream)
objStream.Type = 1
objStream.Mode =3
objStream.Open
objStream.Write CodeBody
objStream.Position = 0
objStream.Type = 2
objStream.Charset = CodeSet
BytesToBstr = objStream.ReadText
objStream.Fermer
FIXER objStream = RIEN
Fonction de fin
'=================================================
'Fonction : Vérifier si le composant a été installé
'Valeur de retour : True ---- Déjà installé
'Faux ---- non installé
'=================================================
Fonction IsObjInstalled (objName)
En cas d'erreur, reprendre ensuite
IsObjInstalled = Faux
Erreur = 0
Dim testObj
SET testObj = Serveur.CreateObject (objName)
SI (0 = Err) ALORS IsObjInstalled = True
FIXER testObj = RIEN
Erreur = 0
Fonction de fin
Fonction RegExpText(strng,strStart,strEnd,n)
Dim regEx, Match, Correspondances, RetStr
SET regEx = Nouvelle RegExp
regEx.Pattern = strStart&([/s/S]*?)&strEnd
regEx.IgnoreCase = Vrai
regEx.Global = Vrai
SET Correspondances = regEx.Execute(strng)
Pour chaque match dans les matchs
SI(n=1)ALORS
RetStr = RetStr & regEx.Replace(Match.Value,$1) & ,
AUTRE
RetStr = RetStr & regEx.Replace(Match.Value,$1)
FIN SI
Suivant
RegExpText = RetStr
SET regEx = RIEN
Fonction de fin