Gå til innhold

Script som finner dagens vare i nettbutikk


Anbefalte innlegg

Hei, jeg skal for øvingens skyld prøve å lage et skript som hver dag åpner http://eutstyr.no/dagens.aspx og åpner kildekoden til den siden som blir åpnen og finner Dagens vare med å lete etter denne stringen:

<span id="ctl00_ContentPlaceHolder1_dvProdukt_lblTittel">iPhone Sleeve Hvit</span>

og finner iPhone sleeve Hvit

<span id="ctl00_ContentPlaceHolder1_dvProdukt_lblTittel">

står bare en gang i dokumentet

 

etterpå skal den enten finne bilde av varen og så sende informasjonen på mail, eller så sende den rett til mail. Det har jeg kontroll på og skal klare selv, men trenger sårt hjelp til "parsingen"

 

-Narils-

Lenke til kommentar
Videoannonse
Annonse

Ser siden er kodet i asp.net, så kanskje det er riktigere å plassere den i asp.net forumet...

 

jeg skal da bare parse gjennom koden med php for å så finne det som står midt mellom de <span> ene og så sende det til meg på mail...

Endret av NarilS
Lenke til kommentar

Er da absolutt ingen grunn til at man skal gjøre dette i Asp.

 

Mkay, det du starter med og gjøre er og bruke file_get_contents()

Deretter splitter du opp det du får 2 ganger.

 

noe ala dette:

 

<?php
$fp = file_get_contents("url");

$split = explode('<span id="ctl00_ContentPlaceHolder1_dvProdukt_lblTittel">', $fp);
print_r($split); //Tror det skal bli split[1] som er riktig. Men outputter alt for sikkerhetsskyld.
$split2 = explode('</span>', $split[1]); //Forandre split 1 hvis det er en annen ting som er mer riktig.
print_r($split2); //Printer alt ut igjen for sikkerhetsskyld. Tweaking er koslig.

$tilbud = $split2[0]; //Tror nå at det blir array 0.
echo "Dagens Tilbud: <b>{$tilbud}</b>";
?>

 

Orka ikke teste dette, men sånn roughly så er det slik.

 

Lenke til kommentar

Er da absolutt ingen grunn til at man skal gjøre dette i Asp.

 

Mkay, det du starter med og gjøre er og bruke file_get_contents()

Deretter splitter du opp det du får 2 ganger.

 

noe ala dette:

 

<?php
$fp = file_get_contents("url");

$split = explode('<span id="ctl00_ContentPlaceHolder1_dvProdukt_lblTittel">', $fp);
print_r($split); //Tror det skal bli split[1] som er riktig. Men outputter alt for sikkerhetsskyld.
$split2 = explode('</span>', $split[1]); //Forandre split 1 hvis det er en annen ting som er mer riktig.
print_r($split2); //Printer alt ut igjen for sikkerhetsskyld. Tweaking er koslig.

$tilbud = $split2[0]; //Tror nå at det blir array 0.
echo "Dagens Tilbud: <b>{$tilbud}</b>";
?>

 

Orka ikke teste dette, men sånn roughly så er det slik.

 

TAKK! men problemet er det at du blir fra dagens.apsx sendt videre til riktig url? hvordan løse denne nøtten?

Lenke til kommentar

Thss, det er en 300 Redirect (eller no i den duren) så det blir fiksa automatisk av PHP.

 

Prøv sjæl. Her er scriptet uten all debuginga :)

 

<?php
$fp = file_get_contents("http://eutstyr.no/dagens.aspx");

$split = explode('<span id="ctl00_ContentPlaceHolder1_dvProdukt_lblTittel">', $fp);
#print_r($split); //Tror det skal bli split[1] som er riktig. Men outputter alt for sikkerhetsskyld.
$split2 = explode('</span>', $split[1]); //Forandre split 1 hvis det er en annen ting som er mer riktig.
#print_r($split2); //Printer alt ut igjen for sikkerhetsskyld. Tweaking er koslig.

$tilbud = $split2[0]; //Tror nå at det blir array 0.
echo "Dagens Tilbud: <b>{$tilbud}</b>";
?>

Lenke til kommentar

takk for det men har allerede fått det opp og inn i cron jobs på serveren og, men et spm hvordan kan jeg få mailscriptet til å sende html mail?

$to = "SENSUR ";
$subject = "Dagens tilbud fra utstyr ";
$message = 'Hei dagens tilbud fra eutstyr er: ' . $tilbud;
$from = "[email protected]";
$headers = "From: " . $from;
mail($to,$subject,$message,$headers);

 

Skal sette opp slik at den henter produktbilde også splitte i stringen

<img id="ctl00_ContentPlaceHolder1_dvProdukt_imgs_imgStor" src="/upload/produkter/iPhone-r%c3%b8d-skinnsleeve-1.gif" style="border-width:1px;border-style:solid;height:379px;width:393px;" />

hvor linken i midten blir http://eutstyr.no/upload...skinnsleeve-1.gif

 

hvordan få til det? og hvordan hente inn den redirectede siden hvor du får sånn pen link hvor det står PRODUKTNAVN som en link (hyperlink)

 

EDIT: fikk ikke date i subject til å fungere heller :(

Endret av NarilS
Lenke til kommentar

Har nå tweaket scriptet og fått til bilde skal klare prisen selv også, men trenger hjelp til å finne ut hvilken link som dagens.aspx linker til...

 

<html>
<head>
	<meta charset="UTF-8">
	<title>Dagens tilbud på eutstur.no</title>
</head>

<?php
$fp = file_get_contents("http://eutstyr.no/dagens.aspx");

//Finner NAVN
$split = explode('<span id="ctl00_ContentPlaceHolder1_dvProdukt_lblTittel">', $fp);
$split2 = explode('</span>', $split[1]); //Forandre split 1 hvis det er en annen ting som er mer riktig.

//Finner BILDE
$ex = explode('<img id="ctl00_ContentPlaceHolder1_dvProdukt_imgs_imgStor" src="', $fp);
$ex2 = explode("/>", $ex[1]);

//Finner LINK
//$sefsef = explode('', $fp);
//$sefsef2 = explode('', $fp);

//Definerer outputs
$tilbud = $split2[0];
$bilde = '<img src="http://eutstyr.no/' . $ex2[0] . ' />';
//$link = $sefsef2[0];
$date = date("d/m-Y");

//OUTPUT! (hvis det skal kjøres i browser også...)
//husk link etterhvert!
echo "Dagens Tilbud: <b>$tilbud</b>";
echo "<br><br />";
echo $bilde;
echo '<br />';

?>



<?php
// Mottakere
$to  = 'YOUWANT?' . ', '; // Husk komma
$to  = 'YOU DONT GET';

// subject
$subject = 'Dagens tilbud på eutstyr.no : ' . $date;

// Melding
$message = '
<html>
<head>
 <title>Dagens tilbud på eutstyr.no : ' . $date . ' </title>
</head>
<body>
<h2>
	Dagens tilbud på eutstyr.no : ' . $date . '
</h2>
<p>
	er <strong>' . $tilbud . '</strong>
 		<br /><br />
 		' . $bilde . '
</p>
</body>
</html>
';

// Html "tags"
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";

// Headere
$headers .= 'From: Bot PHP <[email protected]>' . "\r\n";

// Send
mail($to, $subject, $message, $headers);
?>

 

EDIT: fant link med:

$sefsef = explode('Produkt.aspx?pid=', $fp);
$sefsef2 = explode('" id', $sefsef[1]);

 

Bare pris igjen nå som jeg skal klare ! :) takk for all hjelp! :D

 

EDIT2: fant pris også fikk dreisen på dette nå, igjen; takk for all hjelp!

Endret av NarilS
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...