Un article de Wikipédia, l'encyclopédie libre.
// ********************************************************************************
//
// djobot, bot pour wikipédia. Sous licence gpl au nom de djo0012.
//
// l'utilisation de ce bot est sous la responsabilité de son utilisateur,
// en aucun cas je ne peut être tenu responsable des actions effectuer avec
// ce bot par d'autre personne que moi-même.
//
// je ne garantis en aucun cas le bon fonctionnement de ce code.
//
// fichier work.cpp version 1.0
//
// contient les fonctions de modification des article ou aident a cette modification.
//
// ********************************************************************************
#include"work.h"
#include"tempfile.h"
#include"page.h"
extern tempfile log;
void work::INItakeHTMLlink(string pageHTML)
{
pageTemplink=pageHTML;
}
bool work::takeHTMLlink(string& val)
{
string temp;
do
{
if((int)pageTemplink.find("<a href=")>0)
{
pageTemplink=pageTemplink.substr(pageTemplink.find("<a href=")+9);
temp=(pageTemplink.substr(0,pageTemplink.find_first_of('"')));
if(temp.substr(0,6)=="/wiki/")
{
pageTemplink=pageTemplink.substr(pageTemplink.find("/wiki/")+6);
val=(pageTemplink.substr(0,pageTemplink.find_first_of('"')));
return true;
}
}
else
{
return false;
}
}while(1);
}
void work::INItakeHTMLname(string pageHTML)
{
pageTempname=pageHTML;
}
bool work::takeHTMLname(string& val)
{
string temp;
do
{
if((int)pageTempname.find("<a href=")>0)
{
pageTempname=pageTempname.substr(pageTempname.find("<a href=")+9);
if(pageTempname.substr(0,6)=="/wiki/")
{
pageTempname=pageTempname.substr(pageTempname.find('>')+1);
temp=(pageTempname.substr(0,pageTempname.find_first_of('<')));
if((int)temp.find(':')<=0)
{
val=temp;
return true;
}
}
}
else
{
cout<<'\n';
return false;
}
}while(1);
}
string work::replace(string chaine,string val, string val2)
{
string temp,chaineend="";
for(int i=0;;++i)
{
if((int)chaine.find(val)>0)
{
chaineend+=chaine.substr(0,chaine.find(val));
chaine=chaine.substr(chaine.find(val)+val.length());
chaineend+=val2;
log.put("remplacement de "+val+" par "+val2);
}
else
{
chaineend+=chaine;
return chaineend;
}
}
}