Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #21914 > unrolled thread
| Started by | "antonio" <22553invalid@mynewsgate.net> |
|---|---|
| First post | 2018-03-16 09:06 +0000 |
| Last post | 2018-03-16 18:57 +0100 |
| Articles | 6 — 5 participants |
Back to article view | Back to it.comp.www.php
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
| From | "antonio" <22553invalid@mynewsgate.net> |
|---|---|
| Date | 2018-03-16 09:06 +0000 |
| Subject | Prelievo 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]
| From | Sandro kensan <kensan@kensan.it> |
|---|---|
| Date | 2018-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]
| From | "antonio" <22553invalid@mynewsgate.net> |
|---|---|
| Date | 2018-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]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2018-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]
| From | fmassei@gmail.com |
|---|---|
| Date | 2018-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]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2018-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