Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #21914 > unrolled thread

Prelievo dati di un sito

Started by"antonio" <22553invalid@mynewsgate.net>
First post2018-03-16 09:06 +0000
Last post2018-03-16 18:57 +0100
Articles 6 — 5 participants

Back to article view | Back to it.comp.www.php


Contents

  Prelievo dati di un sito "antonio" <22553invalid@mynewsgate.net> - 2018-03-16 09:06 +0000
    Re: Prelievo dati di un sito Sandro kensan <kensan@kensan.it> - 2018-03-16 11:35 +0100
      Re: Prelievo dati di un sito "antonio" <22553invalid@mynewsgate.net> - 2018-03-16 16:59 +0000
        Re: Prelievo dati di un sito Alessandro Pellizzari <shuriken@amiran.it> - 2018-03-16 17:36 +0000
          Re: Prelievo dati di un sito fmassei@gmail.com - 2018-03-16 12:35 -0700
    Re: Prelievo dati di un sito Leonardo Serni <lserni@gmail.com> - 2018-03-16 18:57 +0100

#21914 — Prelievo dati di un sito

From"antonio" <22553invalid@mynewsgate.net>
Date2018-03-16 09:06 +0000
SubjectPrelievo dati di un sito
Message-ID<2018031609060422553@mynewsgate.net>
Lo script e sotto riportato provvede a prelevare dei singoli annunci da 
un sito

su altri siti Funziona correttamente  ma sul sito inserito sembra che è 
bloccato da qualcosa in quanto non stampa niente a video


#  SCARiCA UNA PAGINA WEB
############################################# #  


$opts = array(
 'http'=>array(
   'method'=>"GET",
   'header'=>"Accept-language: en\r\n".
             "Cookie: foo=bar\r\n".
             "User-Agent: Mozilla/5.0 (Windows NT 6.1) 

AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 

Safari/537.36\r\n"
 )
);
$context = stream_context_create($opts);
$url = "https://www.infojobs.it/offerte-lavoro";
$input = file_get_contents($url, false, $context);

# echo $input;

$regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<

\/a>";
if(preg_match_all("/$regexp/siU", $input, $matches, 

PREG_SET_ORDER))
{
foreach($matches as $match)
{
$href = strtolower($match[2]);
$inner = strtolower($match[3]);
$pos = (strpos($inner,'<img')> 0) ? true : false;
$inner = strip_tags($inner);
$inner = ($inner == "") ? $url : $inner;
if(!$pos)
$linko = '<a href="' . $href . '">' . $inner . '</a><br/>';

#  CERCA 

$testoannu=substr($href,-4,4);
if ($testoannu == '-new' ) {

$contenuto = 'https:'.$href;

echo $contenuto;
echo "<BR>";

$annuncio = file_get_contents($contenuto, false,

$context);

echo $annuncio;
echo "<BR>";
}

}
}

[toc] | [next] | [standalone]


#21915

FromSandro kensan <kensan@kensan.it>
Date2018-03-16 11:35 +0100
Message-ID<fh1kv3Fit7U1@mid.individual.net>
In reply to#21914
On 16/03/2018 10:06, antonio wrote:

> $regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<


Le espressioni regolari funzionano in un certo numero di casi e non sono
da utilizzare per "parsare" l'html.
-- 
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov

[toc] | [prev] | [next] | [standalone]


#21916

From"antonio" <22553invalid@mynewsgate.net>
Date2018-03-16 16:59 +0000
Message-ID<2018031616595822553@mynewsgate.net>
In reply to#21915
Non credo è quello il problema non mi preleva proprio la pagina

 Infatti a video non stampa nulla


$url = "https://www.infojobs.it/offerte-lavoro";
$input = file_get_contents($url, false, $context);
echo $input;



Sandro kensan <kensan@kensan.it> ha scritto:

> On 16/03/2018 10:06, antonio wrote:
> 
> > $regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<
> 
> 
> Le espressioni regolari funzionano in un certo numero di casi e non sono
> da utilizzare per "parsare" l'html.

[toc] | [prev] | [next] | [standalone]


#21917

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2018-03-16 17:36 +0000
Message-ID<fh2dllF65muU1@mid.individual.net>
In reply to#21916
On 16/03/2018 16:59, antonio wrote:

> $url = "https://www.infojobs.it/offerte-lavoro";
> $input = file_get_contents($url, false, $context);
> echo $input;

$ wget https://www.infojobs.it/offerte-lavoro
HTTP request sent, awaiting response... 405 Not Allowed

Ho lavorato in un'azienda che faceva scraping di siti di cerca/trova 
lavoro per gli ultimi due anni, e fidati: quello che stai cercando di 
fare non è per niente semplice.

Sanno che ci sono script che fanno scraping, e ogni 3-4 mesi cambiano 
qualcosa per romperli: dal richiedere header particolari nella richiesta 
al dover usare un browser per eseguire certe azioni in javascript.

È una guerra continua. Noi avevamo 2-3 persone fisse 8 ore al giorno ad 
adattare gli script (su circa 200 siti), più il team legal ad analizzare 
sito per sito cosa si potesse fare e cosa no.

Bye.

[toc] | [prev] | [next] | [standalone]


#21919

Fromfmassei@gmail.com
Date2018-03-16 12:35 -0700
Message-ID<7c2a688f-04b1-4863-9516-303cfb9cc750@googlegroups.com>
In reply to#21917
On Friday, March 16, 2018 at 1:36:55 PM UTC-4, Alessandro Pellizzari wrote:
> On 16/03/2018 16:59, antonio wrote:
> 
> > $url = "https://www.infojobs.it/offerte-lavoro";
> > $input = file_get_contents($url, false, $context);
> > echo $input;
> 
> $ wget https://www.infojobs.it/offerte-lavoro
> HTTP request sent, awaiting response... 405 Not Allowed
> 
> Ho lavorato in un'azienda che faceva scraping di siti di cerca/trova 
> lavoro per gli ultimi due anni, e fidati: quello che stai cercando di 
> fare non è per niente semplice.
> 
> Sanno che ci sono script che fanno scraping, e ogni 3-4 mesi cambiano 
> qualcosa per romperli: dal richiedere header particolari nella richiesta 
> al dover usare un browser per eseguire certe azioni in javascript.
> 
> È una guerra continua. Noi avevamo 2-3 persone fisse 8 ore al giorno ad 
> adattare gli script (su circa 200 siti), più il team legal ad analizzare 
> sito per sito cosa si potesse fare e cosa no.
> 

10 volte questo.

Dove stavo prima facevamo scraping di offerte promozionali su vari prodotti.
Ho addirittura scritto un motore di scraping programmabile in un linguaggio
simil xpath che mi sono inventato, per avere una decina di righe di script
per sito, in maniera da poterli aggiustare al volo in maniera semplice:
niente da fare, anche così era un lavoro a tempo pieno.

Lavorare in questo modo è veramente una brutta bestia.

Ciao!

[toc] | [prev] | [next] | [standalone]


#21918

FromLeonardo Serni <lserni@gmail.com>
Date2018-03-16 18:57 +0100
Message-ID<rp0oad5hiqtr6o93rqs5v4p8vvkrepi99q@L.Serni>
In reply to#21914
On Fri, 16 Mar 2018 09:06:04 GMT, "antonio" <22553invalid@mynewsgate.net>
wrote:

>Lo script e sotto riportato provvede a prelevare dei singoli annunci da 
>un sito

>su altri siti Funziona correttamente  ma sul sito inserito sembra che è 
>bloccato da qualcosa in quanto non stampa niente a video

Non è che è "bloccato": riconosce che è contattato da uno script prelevatore
e ti manda una pagina dove quei link che cerchi non ci sono proprio (la vera
pagina è lunga circa 220K, quella che scarichi tu sono 37823 byte: fa' i tu'
conti...).

Domanda retorica: tu ce l'hai il permesso di infojobs di accedere al loro DB
con strumenti automatizzati?

Leonardo

-- 

Ya se escucha sonar la metralla, ya el clarín toca fuego graneado:
ahora o nunca, muchachos arriba a acabar a estos hijos del diablo.

[toc] | [prev] | [standalone]


Back to top | Article view | it.comp.www.php


csiph-web