Post edited by an administrator or moderator

Discutii despre tot ce nu se incadreaza in celelalte categorii.

Moderators: Moderatori ajutatori, Moderatori

Post Reply
suk92
Membru, skill +1
Membru, skill +1
Posts: 155
Joined: 04 May 2011, 01:09
Detinator Steam: Da
CS Status: online
Location: Timisoara
Been thanked: 1 time
Contact:

13 Jan 2016, 00:01

Post edited by an administrator or moderator
Last edited by suk92 on 13 Feb 2016, 18:55, edited 1 time in total.
RoyalServer
User avatar
IsTI37
Fost administrator
Fost administrator
Posts: 10987
Joined: 10 Apr 2007, 15:02
Detinator Steam: Da
Reputatie: Fost administrator
Fost SysAdmin
Fost Fondator GTA5 (CVL)
Location: Cluj-Napoca
Has thanked: 28 times
Been thanked: 776 times

13 Jan 2016, 00:28

Cu tidy scoti toate link-urile din elementele de referinta intr-un array de string-uri si le procesezi cu curl dupa cum se cere.
Presupun ca e un proiect, iti ia cateva ore sa il faci in C, e destul de complicat daca nu stii structurile de date care iti trebuie.

Eu as extrage link-urile cu tidy si le-as pune pe fiecare intr-un array de string-uri. gen link[0]=primul link din document, link[1]=al doilea link...
Dupa te folosesti de grafuri si stiva de parinti, ordonezi link-urile dupa parinti. Cele cu 0 parinti le vei pune in sitemap ca primii, pe cei cu 1 parinte le vei pune dupa parintele fiecaruia, s.a.m.d.
suk92
Membru, skill +1
Membru, skill +1
Posts: 155
Joined: 04 May 2011, 01:09
Detinator Steam: Da
CS Status: online
Location: Timisoara
Been thanked: 1 time
Contact:

13 Jan 2016, 00:41

Mersi de raspuns. Foarte sincer iti zic ca nu sunt capabil sa fac acest proiect. Te rog frumos sa ma ajuti sa modific codul urmator astfel incat sa extraga link-urile si sa le puna intr-un alt fisier. ( doar sa scot link-urile )

Code: Select all

#include <tidy.h>
#include <tidybuffio.h>
#include <stdio.h>
#include <errno.h>

int main(int argc, char **argv )
{
  const char* input = "<title>Foo</title><p>Foo!";
  TidyBuffer output = {0};
  TidyBuffer errbuf = {0};
  int rc = -1;
  Bool ok;

  TidyDoc tdoc = tidyCreate();                     // Initialize "document"
  printf( "Tidying:\t%s\n", input );

  ok = tidyOptSetBool( tdoc, TidyXhtmlOut, yes );  // Convert to XHTML
  if ( ok )
    rc = tidySetErrorBuffer( tdoc, &errbuf );      // Capture diagnostics
  if ( rc >= 0 )
    rc = tidyParseString( tdoc, input );           // Parse the input
  if ( rc >= 0 )
    rc = tidyCleanAndRepair( tdoc );               // Tidy it up!
  if ( rc >= 0 )
    rc = tidyRunDiagnostics( tdoc );               // Kvetch
  if ( rc > 1 )                                    // If error, force output.
    rc = ( tidyOptSetBool(tdoc, TidyForceOutput, yes) ? rc : -1 );
  if ( rc >= 0 )
    rc = tidySaveBuffer( tdoc, &output );          // Pretty Print

  if ( rc >= 0 )
  {
    if ( rc > 0 )
      printf( "\nDiagnostics:\n\n%s", errbuf.bp );
    printf( "\nAnd here is the result:\n\n%s", output.bp );
  }
  else
    printf( "A severe error (%d) occurred.\n", rc );

  tidyBufFree( &output );
  tidyBufFree( &errbuf );
  tidyRelease( tdoc );
  return rc;
}
Post Reply

Return to “Discutii generale”

  • Information