Il est possible que suite à tes essais successifs le développeur du site:
- ait banni l'IP ou le domaine de ton serveur, via une directive dans un .htaccess par exemple (vu que tu pratiques du scraping sauvage sans avoir l'autorisation du propriétaire du site.)
- contrôle désormais le User Agent (qui dans ton cas ne correspond pas à un quelconque navigateur), ce qui peut se faire dans le code PHP même via la variable $_SERVER['HTTP_USER_AGENT'].
- interdit l'accès aux pages de son site via fopen, file_get_contents, DOMDocument::loadHTMLFile et fort probablement file_get_html (*) en réglant l'option allow_url_fopen à 0 dans son php.ini (ou un truc équivalent s'il utilise un autre langage).
Tu peux passer outre un filtre d'IP ou de domaine en passant par un serveur proxy (ou un service quelconque proposant une ip dynamique).
Pour ce qui est du contrôle du User Agent, il peut être modifier facilement soit en définissant un
contexte de flux pour les fonctions
fopen,
file et
file_get_contents, soit en utilisant
cURL pour récupérer la page (ça demande un peu d'investissement mais c'est bien plus performant). cURL permet également de passer outre
allow_url_fopen.
(*) Au passage, je ne saurais trop te déconseiller d'utiliser simple_html_dom qui n'est pas réputé pour sa vitesse (et qui selon moi n'est pas si simple que ça) en matière de parsing html. Autant sauter le pas pour se plonger dans DOMDocument et DOMXPath (qui, une fois appris sont utilisables dans n'importe quel langage à peu de frais).
Partager