Uždarbis.lt: Web scraping - Uždarbis.lt

Peršokti prie turinio



IT paslaugų skelbimams skirta skiltis Dizaino ir programavimo paslaugos
  • (4 Puslapiai)
  • +
  • 1
  • 2
  • 3
  • Paskutinis »
  • Jūs negalite kurti naujos temos
  • Jūs negalite atsakyti į šią temą

Narys yra atsijungęs ZTG 

  • Pradedantis dalyvis
  • AkisAkis
  • Grupė: Nariai
  • Atsiliepimai: +1 -0
  • Pranešimai: 190
  • Kartu nuo: 2010-10-05
  • Vardas:Vytautas

2010-10-15 15:08 (#1)

Web scraping


kas tai?
Kas toks web scraping?
Tai informacijos automatiskas surinkimas su programeles(arba web service) pagalba. Programele vadinasi parseris arba web scraperis.

Kam reikia parseriai?
Parseriai skirti tam, kad paimti is tinklapiu su vienodu turiniu content. Pvz, galima visas naujienos vienoje vietoje skaityti arba paleisti ant PHP hosting (su Crone) programele kuri skaiciuotu oraus metini vidurki arba surinkti dominancia informacija savo tikslams. Irgi galima sukaupti prekiu eshopams.

Kokia kalba rasyti?
Paprasciausia su PHP. Po to su C# arba Java. Galima su Python. Jeigu nezinote nei vienos kalbos, galima su Yahoo pipes parasyti.

Ar yra pavyzdys?
Taip, prasom perziureti sita, sita pranesima.

Šį pranešimą redagavo ZTG: 2011-08-20 18:29

----------
biblioteka.org.ua
5


Narys yra atsijungęs Kernius 

  • Forumo senbuvis
  • AkisAkisAkisAkisAkis
  • Grupė: Administratoriai
  • Atsiliepimai: +0 -0
  • Pranešimai: 4739
  • Kartu nuo: 2004-01-05

2010-10-15 15:42 (#2)

*
Mėgstamas

Tai labai galingas dalykas :)

Paskutinį kartą web scraping naudojau rašydamas PHP skriptą, kuris už mane ieškotų pigių skrydžių Ryanair svetainėje ir rastų galutines kainas (su visais mokesčiais). Ryanair turi cookies apsaugą ir perduoda duomenis AJAX (javascript) pagalba, tad reikėjo skirti laiko gilinantis į pačios svetainės sistemą - kaip viskas veikia. Galiausiai turėjau veikiantį skriptą, kuris man praneša apie pigiausius skrydžius (po 10-20 litų) - ir tai padėjo gerokai sutaupyti - esu tą pačią dieną skridęs per Europą maršrutu Portugalija - Norvegija - Latvija už iš viso 35 litus (du bilietai po 5 eurus).

15


Narys yra atsijungęs terabite 

  • Dažnas dalyvis
  • AkisAkisAkis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +6 -1
  • Pranešimai: 379
  • Kartu nuo: 2007-09-10

2011-01-06 08:25 (#3)

Pritariu Kerniui, man šis dalykas pravertė laikantis teises, buvau pasidaręs, kad kai tik atsiranda laisva vieta man tinkančiu laiku ir man tinkančiame mieste gaučiau sms žinutę taip vietoj to, kad laukčiau mėnesi laiko radau vieta po keleto dienų.(Viskas vyko prieš pradedant išduoti laikinas teisias)

2


Narys yra atsijungęs metodman 

  • Pradedantis dalyvis
  • AkisAkis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +1 -0
  • Pranešimai: 106
  • Kartu nuo: 2008-01-03

2011-03-06 14:55 (#4)

tiems kas domisi webscrapingu per PHP yra geras tutorial http://net.tutsplus....ml-dom-library/
ir man asmeniskai patogiausia php htmldom parser klase http://sourceforge.n...ehtmldom/files/
2


Narys yra atsijungęs v0n 

  • Naujas veidas forume
  • Akis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +1 -0
  • Pranešimai: 34
  • Kartu nuo: 2011-03-24
  • Vardas:Eivydas
  • Miestas:Silale

2011-03-24 03:55 (#5)

Rodyti pranešimąKernius, 2010-10-15 15:42, pasakė:

Tai labai galingas dalykas :)

Paskutinį kartą web scraping naudojau rašydamas PHP skriptą, kuris už mane ieškotų pigių skrydžių Ryanair svetainėje ir rastų galutines kainas (su visais mokesčiais). Ryanair turi cookies apsaugą ir perduoda duomenis AJAX (javascript) pagalba, tad reikėjo skirti laiko gilinantis į pačios svetainės sistemą - kaip viskas veikia. Galiausiai turėjau veikiantį skriptą, kuris man praneša apie pigiausius skrydžius (po 10-20 litų) - ir tai padėjo gerokai sutaupyti - esu tą pačią dieną skridęs per Europą maršrutu Portugalija - Norvegija - Latvija už iš viso 35 litus (du bilietai po 5 eurus).


Vis dar veikia tavo skriptas? Ieskojau pats internete butent tokio dalyko, bet nepavyko nieko rast. Raso, kad Ryanair "screen-scraping safe" :D
1


Narys yra atsijungęs metodman 

  • Pradedantis dalyvis
  • AkisAkis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +1 -0
  • Pranešimai: 106
  • Kartu nuo: 2008-01-03

2011-03-24 11:59 (#6)

kazka panasaus esu pakures, aisku cia ne taip tobulai kaip rase kolega, bet faktas - kad siurbt galima:
http://pigus-ryanair-skrydziai.rds.lt/ pigūs skrydžių bilietai

Rodyti pranešimąv0n, 2011-03-24 03:55, pasakė:

Vis dar veikia tavo skriptas? Ieskojau pats internete butent tokio dalyko, bet nepavyko nieko rast. Raso, kad Ryanair "screen-scraping safe" :D

Šį pranešimą redagavo metodman: 2012-03-31 19:42

0


Narys yra atsijungęs v0n 

  • Naujas veidas forume
  • Akis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +1 -0
  • Pranešimai: 34
  • Kartu nuo: 2011-03-24
  • Vardas:Eivydas
  • Miestas:Silale

2011-03-24 12:13 (#7)

Rodyti pranešimąmetodman, 2011-03-24 11:59, pasakė:

kazka panasaus esu pakures, aisku cia ne taip tobulai kaip rase kolega, bet faktas - kad siurbt galima:
http://pigus-ryanair-skrydziai.rds.lt/


Dekui uz nuoroda. Patiko :)
0


Narys yra atsijungęs poseidon 

  • Dažnas dalyvis
  • AkisAkisAkis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +132 -0
  • Pranešimai: 931
  • Kartu nuo: 2008-02-03
  • Vardas:poseidon

2011-04-02 18:36 (#8)

Rodyti pranešimąmetodman, 2011-03-24 11:59, pasakė:

kazka panasaus esu pakures, aisku cia ne taip tobulai kaip rase kolega, bet faktas - kad siurbt galima:
http://pigus-ryanair-skrydziai.rds.lt/


GERA NUORODA,Pravers dekingas :rolleyes:
0


Narys yra atsijungęs AlgirdaZ 

  • Užkietėjęs dalyvis
  • AkisAkisAkisAkis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +57 -0
  • Pranešimai: 2108
  • Kartu nuo: 2009-09-12

2011-04-02 18:46 (#9)

Ieškau prgramuotojo, kad sukurtų skriptą prekių importui iš vienos e-shop į kitą su web scarping.

Laukiu AŽ.
0


Narys yra atsijungęs sha-512 

  • Pradedantis dalyvis
  • AkisAkis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +6 -0
  • Pranešimai: 147
  • Kartu nuo: 2009-09-17

2011-07-30 22:30 (#10)

Mano screen scraping pavyzdys,
vienu metu teko daug kariautu su blogais websaitais,
sitas skriptas eina i saitus reportuojancius blogus IP, surenka is ju IP adresus, ismeta dublikatus ir pateikia man reikalingu formatu (netwitness).

#!/usr/bin/env python
import urllib2, re, os
count = 0
IPlist = ""

os.system("clear")

f = urllib2.urlopen("http://www.malwaredomainlist.com/update.php")
s = f.read()
m = re.findall("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",s)

mylist = list(set(m))

for match in mylist:
        IPlist = match + "," + IPlist   
                
print "\nNewest reported IPs on the malwaredomainlist.com:\n\nip.dst = " + IPlist[:-1] + "\n"

IPlist = ""

f = urllib2.urlopen("http://www.projecthoneypot.org/list_of_ips.php")
s = f.read()
m = re.findall("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",s)

mylist = list(set(m))

for match in mylist:
        IPlist = match + "," + IPlist   
                
print "\nNewest reported IPs on the projecthoneypot.org:\n\nip.dst = " + IPlist[:-1] + "\n"

IPlist = ""

f = urllib2.urlopen("http://www.malwaredomainlist.com/hostslist/ip.txt")
s = f.read()
m = re.findall("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",s)

mylist = list(set(m))

print "All reported IPs on the malwaredomainlist.com:\n"

for match in mylist:
        if(count<300):  
                IPlist = match + "," + IPlist
        else:
                print "ip.dst = "+ IPlist[:-1]+ "\n"
                IPlist = ""
                count=0
        count+=1


0


Narys yra atsijungęs Crembo 

  • Naujas veidas forume
  • Akis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +3 -0
  • Pranešimai: 29
  • Kartu nuo: 2011-07-12
  • Miestas:Vilnius

2011-08-09 18:48 (#11)

Biški pasenusi tema, bet sukūriau WizzAir variantą: http://wizz.crembo.eu/ veikia panašiai kaip metodman saitas.
1


Narys yra atsijungęs Rhymond 

  • Užkietėjęs dalyvis
  • AkisAkisAkisAkis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +34 -0
  • Pranešimai: 1206
  • Kartu nuo: 2010-05-31
  • Vardas:Raimondas
  • Miestas:Vilnius
  • Buvęs:raima220

2011-10-13 21:47 (#12)

Rodyti pranešimąCrembo, 2011-08-09 18:48, pasakė:

Biški pasenusi tema, bet sukūriau WizzAir variantą: http://wizz.crembo.eu/ veikia panašiai kaip metodman saitas.


Geras !
Paveiksliukas
0


Narys yra atsijungęs ZTG 

  • Pradedantis dalyvis
  • AkisAkis
  • Grupė: Nariai
  • Atsiliepimai: +1 -0
  • Pranešimai: 190
  • Kartu nuo: 2010-10-05
  • Vardas:Vytautas

2011-10-14 11:23 (#13)

Rodyti pranešimąCrembo, 2011-08-09 18:48, pasakė:

Biški pasenusi tema, bet sukūriau WizzAir variantą: http://wizz.crembo.eu/ veikia panašiai kaip metodman saitas.

noreciau, jei ponas leis paziureti source code ir ar daug ten pribambasu? Dekui.

Šį pranešimą redagavo ZTG: 2011-10-21 16:47

----------
biblioteka.org.ua
0


Narys yra atsijungęs Sul 

  • Forumo senbuvis
  • AkisAkisAkisAkisAkis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +4 -0
  • Pranešimai: 3290
  • Kartu nuo: 2007-06-17
  • Vardas:Darius
  • Buvęs:Daruz

2011-10-14 11:43 (#14)

Ar įmanoma šitą dalyką panaudot el.paštui? Ta prasme nusiurbt tam tikrą turinį iš tam tikrų adresatų laiškų?
0


Narys yra atsijungęs ZTG 

  • Pradedantis dalyvis
  • AkisAkis
  • Grupė: Nariai
  • Atsiliepimai: +1 -0
  • Pranešimai: 190
  • Kartu nuo: 2010-10-05
  • Vardas:Vytautas

2011-10-14 11:47 (#15)

Rodyti pranešimąDaruz, 2011-10-14 11:43, pasakė:

Ar įmanoma šitą dalyką panaudot el.paštui? Ta prasme nusiurbt tam tikrą turinį iš tam tikrų adresatų laiškų?

taip

Šį pranešimą redagavo ZTG: 2011-10-21 16:40

----------
biblioteka.org.ua
0


Narys yra atsijungęs Sul 

  • Forumo senbuvis
  • AkisAkisAkisAkisAkis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +4 -0
  • Pranešimai: 3290
  • Kartu nuo: 2007-06-17
  • Vardas:Darius
  • Buvęs:Daruz

2011-10-14 11:53 (#16)

Rodyti pranešimąZTG, 2011-10-14 11:47, pasakė:

taip, su C#: su OpenPOP library atsiunti laisku body's, ir pagal xpath string'a gauni rezultatus kurios reikejo butu gauti. o paskui gali issaugoti kaip XML byla.


Ačiū už paaiškinimą, bet esu žalias programavime. Mane tik domina darbo sudėtingumas ir preminali kaina. :)
0


Narys yra atsijungęs ZTG 

  • Pradedantis dalyvis
  • AkisAkis
  • Grupė: Nariai
  • Atsiliepimai: +1 -0
  • Pranešimai: 190
  • Kartu nuo: 2010-10-05
  • Vardas:Vytautas

2011-10-22 19:19 (#17)

Rodyti pranešimąDaruz, 2011-10-14 11:53, pasakė:

Ačiū už paaiškinimą, bet esu žalias programavime. Mane tik domina darbo sudėtingumas ir preminali kaina. :)

Susisiekaiu su Daruz ir parasiau jam skripta kuris tikrina pasta, bet pasirodo, kad hostgator blokuoja prisijungimus prie google mail. Galvoju taip ir su kitais hostingais. Kam rekia stai skriptas:
index.php
<?php
	session_start(); 
 	
	if(isset($_SESSION['user'])) {

		header("Location: admin/index.php");
	
	} else {
		echo "<form action=handler.php method=post>
Vartotojo vardas: <input type=text name=name value=><br>  
Slaptazodis: <input type=password name=password value=><br>  
<input type=submit value=Siusti>  
</form>";
	}
?>

handler.php
<?php 
	include('admin/config.php');
	$conf = new config;
	
	$dblocation = $conf->dbloc;  
	$dbname = $conf->dbname;  
	$dbuser = $conf->dbuser;  
	$dbpasswd = $conf->dbpasswd;  
	      
	$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);  
	if (!$dbcnx) {  
		echo( "<P>DB serveris nepasiekiamas.</P>" );  
		exit();  
	}  
	if (! @mysql_select_db($dbname,$dbcnx) ) {  
		echo( "<P>DB nepasiekiama.</P>" );  
		exit();  
	}  
	$query = "SELECT password FROM users WHERE name='".$_POST['name']."'";  
	$nme = mysql_query($query);  
	if(!$nme) {  
		echo mysql_error(); 
		echo "Uzklausa neivykdyta";  
		exit();  
	}  
	if(mysql_num_rows($nme) > 0) {    
		$password = mysql_result($nme, 0);  
		if ($_POST['password'] == $password) { 
			if(session_start()) { 
				$_SESSION['user'] = $_POST['name']; 
				$_SESSION['password'] = $_POST['password']; 
				echo "<HTML><HEAD> 
			         <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'> 
			         </HEAD><body>"; 
			} 
		} else {  
			echo "Identifikavimo klaida: neteisingas slaptazodis";  
			exit();  
		}  
	} else {  
		echo "Identifikavimo klaida: vartotojas neregistruotas";  
		exit();  
	}  
?>

logout.php
<?php
  session_start();
  unset($_SESSION['username']); 
  session_destroy();
  echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'></HEAD><body>"; 
?>

admin/checker.php
<?php
	require("class-IXR.php");
	include('../admin/config.php');
	$conf = new config;
	$client = new IXR_Client($conf->adresas.'/xmlrpc.php');
	$USER = $conf->name;
	$PASS = $conf->password;
	$mbox = imap_open("{imap.gmail.com:993/imap/ssl}INBOX", $conf->email, $conf->gpassword) or die("can't connect: " . imap_last_error());
	$emails = imap_search($mbox,'ALL');

	$dblocation = $conf->dbloc;  
	$dbname = $conf->dbname;  
	$dbuser = $conf->dbuser;  
	$dbpasswd = $conf->dbpasswd;     
	$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);  
	if (!$dbcnx) {  
		echo( "<P>DB serveris nepasiekiamas.</P>" );  
		exit();  
	}  
	if (! @mysql_select_db($dbname,$dbcnx) ) {  
		echo( "<P>DB nepasiekiama.</P>" );  
		exit();  
	}  	
	

	if($emails) {
		rsort($emails);
		
		foreach($emails as $email_number) {
			$output1 = '';
			$output2 = '';
			$output3 = '';

			$overview = imap_fetch_overview($mbox,$email_number,0);
			$message = imap_fetchbody($mbox,$email_number,2);
			$pos1 = strpos($message, $conf->pos1);
			$pos2 = strpos($message, $conf->pos2);
			    
			$output1.= $overview[0]->subject;
			$output2.= $overview[0]->from;
			$output3.= $overview[0]->date.'<br>';
					
			$mes = substr($message, $pos1, $pos2);
			if($mes) {
				$mess = quoted_printable_decode($mes);
				   
				if (strpos($output2, $conf->emx) !== false)
				{
					$query = "SELECT subject FROM system_mail_list WHERE date='".$overview[0]->date."'";
					$nme = mysql_query($query);  
					if(!$nme) {  
						echo mysql_error(); 
						echo "Uzklausa neivykdyta";  
						exit();  
					}  
					if(mysql_num_rows($nme) > 0) {    
						$subject = mysql_result($nme, 0);  
						if ($overview[0]->subject !== $subject) {
							$query2 = "INSERT INTO system_mail_list VALUES (NULL, '".$overview[0]->subject."', '".$overview[0]->from."', '".$overview[0]->date."');";
							$nme2 = mysql_query($query2);  
							if(!$nme2) {  
								echo mysql_error(); 
								echo "Uzklausa neivykdyta";  
								exit();  
							}
						
							$output3.= str_replace('</div><br>','',$mess);    
							$content['title'] = $output1;
							$content['categories'] = array($conf->cat);
							$content['description'] = utf8_encode($output3);
							$content['custom_fields'] = array( array('key' => 'my_custom_fied','value'=>'yes') );
							$content['mt_keywords'] = array($conf->tag);
		
							if (!$client->query('metaWeblog.newPost','', $USER,$PASS, $content, true)) 
							{
								die( 'Ivyko publikavimo klaida' . $client->getErrorCode() ." : ". $client->getErrorMessage());  
							}
							$ID =  $client->getResponse();
							if($ID){
								header("Location: ../admin/index.php");				
							}  					
						}
					} else {
						$query2 = "INSERT INTO system_mail_list VALUES (NULL, '".$overview[0]->subject."', '".$overview[0]->from."', '".$overview[0]->date."');";
						$nme2 = mysql_query($query2);  
						if(!$nme2) {  
							echo mysql_error(); 
							echo "Uzklausa neivykdyta";  
							exit();  
						}
						$output3.= str_replace('</div><br>','',$mess);     
						$content['title'] = $output1;
						$content['categories'] = array($conf->cat);
						$content['description'] = utf8_encode($output3);
						$content['custom_fields'] = array( array('key' => 'my_custom_fied','value'=>'yes') );
						$content['mt_keywords'] = array($conf->tag);
		
						if (!$client->query('metaWeblog.newPost','', $USER,$PASS, $content, true)) 
						{
							die( 'Ivyko publikavimo klaida' . $client->getErrorCode() ." : ". $client->getErrorMessage());  
						}
						$ID =  $client->getResponse();
						if($ID){
							header("Location: ../admin/index.php");				
						}
					}			
				}
			}
		}
	}
	 
	imap_close($mbox);
?>

admin/class-IXR.php (is wordpress imamas)
admin/config.php
<?php
class config
{
   var $adresas = 'http://.lt';
   var $name = 'admin';
   var $password = '';
   var $email = '@gmail.com';
   var $gpassword = '';
   var $emx = '@mail.com';
   var $pos1 = '<div marginwidth=3D"0" marginheight=3D"0">';
   var $pos2 = '</div><br>';
   var $cat = 'NewCategory';
   var $tag = 'from e-mail';
   /*MySQL db duomenys*/
   var $dbloc = 'localhost';
   var $dbname = 'db';
   var $dbuser = 'user';
   var $dbpasswd = '';
}
?>

admin/handler.php
<?php 
	session_start();
	if ($_SESSION['user'] == 'admin') {
		updateConfig('$adresas', $_POST['adresas']);
		updateConfig('$name', $_POST['name']);
		updateConfig('$password', $_POST['password']);
		updateConfig('$email', $_POST['email']);
		updateConfig('$gpassword', $_POST['gpassword']);
		updateConfig('$emx', $_POST['emx']);
		updateConfig('$pos1', stripslashes($_POST['pos1']));
		updateConfig('$pos2', stripslashes($_POST['pos2']));
		updateConfig('$cat', $_POST['cat']);
		updateConfig('$tag', $_POST['tag']);
		updateConfig('$dbloc', $_POST['dbloc']);
		updateConfig('$dbname', $_POST['dbname']);
		updateConfig('$dbuser', $_POST['dbuser']);
		updateConfig('$dbpasswd', $_POST['dbpasswd']);
		echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'></HEAD><body>"; 
	} else {
		echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'></HEAD><body>";
 	}		
	function updateConfig($parameter, $value)
	{	
		$file = file_get_contents('config.php');
		$fileLines = explode("\n", $file);
		for($i=0;$i<count($fileLines);$i++)
		{
			if(strstr($fileLines[$i], $parameter))
			{
				$fileLines[$i] = "   var " . $parameter . " = '" . $value . "';";
			}
		}
		$file = implode("\n", $fileLines);
		file_put_contents('config.php', $file);
	}
?>

admin/index.php
<?php
	session_start();
	if ($_SESSION['user'] == 'admin') {
		
		include('../admin/config.php');
		
		if(isset($_SESSION['user'])) echo "Sveiki, <a href='../admin/index.php'>".$_SESSION['user']."</a>! | <a href='../admin/checker.php'>tikrinti pasta dabar</a> | <a href='../admin/list.php'>rodyti visus atsiustus laiskus</a> | <a href='../logout.php'>atsijungti</a>";

		$conf = new config;
	
		
		echo '<form action=handler.php method=post><TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0>
		<TR>
		<TD ALIGN="left" width="200">Wordpress svetaines adresas:</TD>
		<TD ALIGN="left" width="200"><input type=text name=adresas value="'.$conf->adresas.'"></TD>
		<TD ALIGN="left" width="200">*pvz, http://svetaine.net</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">Wordpress vartotojo vardas:</TD>
		<TD ALIGN="left" width="200"><input type=text name=name value="'.$conf->name.'"></TD>
		<TD ALIGN="left" width="200">*pvz, admin</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">Wordpress vartotojo slaptazodis:</TD>
		<TD ALIGN="left" width="200"><input type=password name=password value="'.$conf->password.'"></TD>
		<TD ALIGN="left" width="200">*pvz, 123qwe</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">GMAIL pasto adresas:</TD>
		<TD ALIGN="left" width="200"><input type=text name=email value="'.$conf->email.'"></TD>
		<TD ALIGN="left" width="200">*pvz, administratorius@gmail.com</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">GMAIL pasto slaptazodis:</TD>
		<TD ALIGN="left" width="200"><input type=password name=gpassword value="'.$conf->gpassword.'"></TD>
		<TD ALIGN="left" width="200">*pvz, 1234qwer</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">Siuntejo pasto adresas:</TD>
		<TD ALIGN="left" width="200"><input type=text name=emx value="'.$conf->emx.'"></TD>
		<TD ALIGN="left" width="200">*pvz, contact@mail.com</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">Laisko pradzia:</TD>
		<TD ALIGN="left" width="200"><input type=text name=pos1 value="'.htmlspecialchars($conf->pos1).'"></TD>
		<TD ALIGN="left" width="200">*pvz, '.htmlspecialchars('<div><div>').'</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">Laisko pabaiga:</TD>
		<TD ALIGN="left" width="200"><input type=text name=pos2 value="'.htmlspecialchars($conf->pos2).'"></TD>
		<TD ALIGN="left" width="200">*pvz, '.htmlspecialchars('</div></div>').'</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">Wordpress kategorija:</TD>
		<TD ALIGN="left" width="200"><input type=text name=cat value="'.$conf->cat.'"> </TD>
		<TD ALIGN="left" width="200">*pvz, NewCategory</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">Wordpress iraso TAG:</TD>
		<TD ALIGN="left" width="200"><input type=text name=tag value="'.$conf->tag.'"></TD>
		<TD ALIGN="left" width="200">*pvz, from email</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">MySQL DB adresas:</TD>
		<TD ALIGN="left" width="200"><input type=text name=dbloc value="'.$conf->dbloc.'"></TD>
		<TD ALIGN="left" width="200">*pvz, localhost</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">MySQL DB pavadinimas:</TD>
		<TD ALIGN="left" width="200"><input type=text name=dbname value="'.$conf->dbname.'"></TD>
		<TD ALIGN="left" width="200">*pvz, db1</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">MySQL DB vartotojas:</TD>
		<TD ALIGN="left" width="200"><input type=text name=dbuser value="'.$conf->dbuser.'"></TD>
		<TD ALIGN="left" width="200">*pvz, root</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200">MySQL DB slaptazodis:</TD>
		<TD ALIGN="left" width="200"><input type=text name=dbpasswd value="'.$conf->dbpasswd.'"></TD>
		<TD ALIGN="left" width="200">*pvz, 123qwe</TD>
		</TR>
		<TR>
		<TD ALIGN="left" width="200"><input type=submit value=Siusti></TD>
		<TD ALIGN="left" width="200"></TD>
		<TD ALIGN="left" width="200"></TD>
		</TR>
		</TABLE></form>';
	} else {
		echo "Tu neprisijungtas matyti sita puslapi!";
 	}
?>

admin/list.php
<?php
	session_start();
	if ($_SESSION['user'] == 'admin') {
		if(isset($_SESSION['user'])) echo "Sveiki, <a href='../admin/index.php'>".$_SESSION['user']."</a>! | <a href='../admin/checker.php'>tikrinti pasta dabar</a> | <a href='../admin/list.php'>rodyti visus atsiustus laiskus</a> | <a href='../logout.php'>atsijungti</a>";
		include('../admin/config.php');
		$conf = new config;
	
		$dblocation = $conf->dbloc;  
		$dbname = $conf->dbname;  
		$dbuser = $conf->dbuser;  
		$dbpasswd = $conf->dbpasswd;  
		      
		$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);  
		if (!$dbcnx) {  
			echo( "<P>DB serveris nepasiekiamas.</P>" );  
			exit();  
		}  
		if (! @mysql_select_db($dbname,$dbcnx) ) {  
			echo( "<P>DB nepasiekiama.</P>" );  
			exit();  
		}  
		$query = "SELECT subject, email_from, date FROM system_mail_list";  
		$nme = mysql_query($query);  
		if(!$nme) {  
			echo mysql_error(); 
			echo "Uzklausa neivykdyta";  
			exit();  
		}
		$x = 0;
		print "<br> Gauti laiskai:";
		print "<table>\n";
		print "<tr>\n<td>Subject</td><td>From</td><td>Date</td>\n</tr>\n";
		while ($x < mysql_numrows($nme)) {   
			$res1 = mysql_result($nme, $x,'subject');
			$res2 = mysql_result($nme, $x,'email_from');
			$res3 = mysql_result($nme, $x,'date');
			print "<tr>\n";
			print "<td>$res1</td>\n<td>$res2</td>\n<td>$res3</td>\n";
			print "</tr>\n";
			$x++;
		}
		print "</table>";
		mysql_close();
	} else {
		echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'></HEAD><body>";
 	}
?>


MySQL kodas
CREATE TABLE IF NOT EXISTS `system_mail_list` (
  `id_position` int(11) NOT NULL AUTO_INCREMENT,
  `subject` text COLLATE utf8_bin NOT NULL,
  `email_from` text COLLATE utf8_bin NOT NULL,
  `date` text COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`id_position`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=0 ;

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` text NOT NULL,
  `password` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;


INSERT INTO `users` (`id`, `name`, `password`) VALUES
(1, 'admin', 'admin');


ka daro skriptas???
skriptas per XMLRPC raso irasus i wordpress, irasai imami is email per IMAP. konfiguracija parasyta kaip wordpress.

ka tik patikrinau, veikia ir su Rambler

Šį pranešimą redagavo ZTG: 2011-10-23 16:30

----------
biblioteka.org.ua
4


Narys yra atsijungęs martizzo 

  • Dažnas dalyvis
  • AkisAkisAkis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +64 -1
  • Pranešimai: 292
  • Kartu nuo: 2007-07-17
  • Miestas:Vilnius

2012-01-21 00:31 (#18)

Rodyti pranešimąterabite, 2011-01-06 08:25, pasakė:

Pritariu Kerniui, man šis dalykas pravertė laikantis teises, buvau pasidaręs, kad kai tik atsiranda laisva vieta man tinkančiu laiku ir man tinkančiame mieste gaučiau sms žinutę taip vietoj to, kad laukčiau mėnesi laiko radau vieta po keleto dienų.(Viskas vyko prieš pradedant išduoti laikinas teisias)


Gal gali plačiau kaip darei? XQuery, regexp ar kazkas su html ?
0


Narys yra atsijungęs terabite 

  • Dažnas dalyvis
  • AkisAkisAkis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +6 -1
  • Pranešimai: 379
  • Kartu nuo: 2007-09-10

2012-01-21 01:48 (#19)

Rodyti pranešimąmartizzo, 2012-01-21 00:31, pasakė:

Gal gali plačiau kaip darei? XQuery, regexp ar kazkas su html ?


tada dar nežinojau apie simplehtmldom biblioteką, su regex tingėjau žaisti tai paprasčiau su file_get_contents pasimdavau htmla ir su explode html isskaidydavau i dalis ir taip susirasdavau ko reikia, o sms siuntimui tai sms.verslumas.net api naudojau.
1


Narys yra atsijungęs Eimantass 

  • Pradedantis dalyvis
  • AkisAkis
  • Grupė: Patvirtinti nariai
  • Atsiliepimai: +6 -0
  • Pranešimai: 189
  • Kartu nuo: 2009-04-14
  • Vardas:Eimantas
  • Miestas:Kaunas

2013-03-08 00:27 (#20)

Mane domintų ar web scrapinimas iš teisinės pusės yra legalus, tarkim jei naudoti trečiųjų šalių tinklapių informaciją pateikti savo svetainėje? Tai realiai įmanoma susekti ir įrodyti jog informacija yra nuscraipinta? Pvz realus pavyzdys: http://int.soccerway...ventus-fc/1242/ Komandų sudėčių scrapinimas ir panašūs dalykai, kurie nėra kažkokie tai straipsniai su kuriais viskas elementariai patikrinama :)
0


Pasidalinti šia tema:


  • (4 Puslapiai)
  • +
  • 1
  • 2
  • 3
  • Paskutinis »
  • Jūs negalite kurti naujos temos
  • Jūs negalite atsakyti į šią temą

1 nariai(-ų) skaito šią temą
0 nariai(-ių), 1 svečiai(-ių) ir 0 slapti(-ų) nariai(-ių)


Užklausų vykdymo statistika

  • Dabar yra: 2018-11-17 13:05

Tas nuostabus prisijungimo momentas


Prisijungimo nustatymai