×
Create a new article
Write your page title here:
We currently have 3,189 articles on s23. Type your article name above or create one of the articles listed here!



    s23
    3,189Articles

    TclScripts/UrlGrab: Difference between revisions

    Content added Content deleted
    imported>Hundfred
    No edit summary
    imported>mutante
    mNo edit summary
    Line 1: Line 1:
    How to grab URLs from IRC channels ,save them to mysql, and display them on a webpage:
    How to grab URLs from [[IRC]] channels ,save them to mysql, and display them on a webpage:


    Line 78: Line 78:
    mutante
    mutante


    Related: [[Eggdrop]],[[MySQL]]


    [[Category:Programming]]
    [[Category:Programming]]
    [[Category:Scripts]]
    [[Category:Scripts]]
    [[Category:IRC]]
    [[Category:IRC]]
    [[Category:TCL]]

    Revision as of 00:01, 25 October 2005

    How to grab URLs from IRC channels ,save them to mysql, and display them on a webpage:


    urlgrab.tcl v0.7 by RufusDE <Thomas.Koester@rz.Uni-Osnabrueck.DE> already handles all the [RegularExpressions regex]'ing nicely, and because [HackerAttitude no problem should ever be solved twice], we just take this one to start with.

    It only logs to a text file though, but we have libmysqltcl installed (on s23.org) so we can add MySql commands like this:

    # added sql insert by mutante 
    set db [mysqlconnect -host localhost -user <user> -password <password> -db ircurls]
    mysqlexec $db "INSERT INTO urlgrab SET url="$url",chan="$lchan",nick="$nick",date=now()"
    puthelp "privmsg mutante :Added to sql-db : url: $url chan: $lchan nick: $nick date: $ctime"
    mysqlclose $db  
    

    i inserted this between row 51 - 57 in the original script.

    replace <user> and <password> with your mysql user / pass.

    You need to create a database "ircurls" with a table "urlgrab" or whatever you like,

    and the table structure is :

    Table structure for table `urlgrab`
    
    
    CREATE TABLE urlgrab (
      id int(5) unsigned NOT NULL auto_increment,
      url varchar(255) default NULL,
      nick varchar(32) default NULL,
      chan varchar(64) default NULL,
      date datetime NOT NULL default '0000-00-00 00:00:00',
      PRIMARY KEY  (id)
    ) TYPE=MyISAM;
    
    • Now to the output part / webinterface:

    You can use f.e. php (or perl) to read from mysql:

    Example:

    <?php
    
     $db = mysql_connect("localhost", "<user>", "<pass>");
    
     mysql_select_db("ircurls",$db);
    
     $result = mysql_query("SELECT * FROM urlgrab",$db);
     $urlnum=0;
    
     while ($myrow = mysql_fetch_row($result)) {
      
      printf("%s <a target="new" href="%s">%s</a> %s %s %s 
    ", 
      $myrow[0], $myrow[1], $myrow[1], $myrow[2], $myrow[3], $myrow[4],$myrow[5]);
    
    $urlnum++;
    }
    
    echo "<tr><td colspan="5">Total URLs found: $urlnum</td></tr>";
    echo "</table></body></html>";
    

    which,if you play more with it, looks something like:

    http://mutante.s23.org/urllog.php , broken link

    While creating all this i found out Rufus already offers mysql_urlgrab.tcl , DOH!!!

    So you could as well just use that ,but i didnt check it out yet ;)

    Rufus is also the maintainer of libmysqltcl himself it seems, so he should know pretty good.

    mutante

    Related: Eggdrop,MySQL

    Cookies help us deliver our services. By using our services, you agree to our use of cookies.
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.