Jump to content

Recommended Posts

elle sont dispo sur le site... donc je vois pas pourquoi ce serait illégal, c'est des données constructeurs, des datasheet, des ifnos techniques, les prix et quantités

pour exemple https://www.digikey.com/products/capacitors/en 

c'est les infos dans le tableau, donc rien d’inaccessible au public, mais visiblement protégées contre le scraping, par contre elle sont accessible via l'API, qui n'est cependant pas trop adaptée a mon cas de figure

[EDIT]

petite appartée, vous auriez quelque bonnes lib sous la main pour la gestion des erreur

[EDIT2]

$dir[]=array("dir","ls");//Affiche la liste des fichiers et sous-dossiers contenus dans le répertoire.

vous voyez une erreur la dedans ? 

Edited by GROS_FAIGNAN
Link to post
Share on other sites

autant en php, je sais pas mais, si c'est pas trop différent de python, tu dois avoir une commande pour ouvrir le lien et mettre le résultat en mémoire, genre ça:

$response =$client->request('GET','https://www.digikey.com/product-search/download.csv?FV=-8%7C649&quantity=0&ColumnSort=0&page=1&pageSize=25');

et après, tu dois avoir des outils de manipulation de fichier CSV, pour peu que tu connaisses à l'avance le symbole de séparation (tabulation, virgule, point-virgule...) ou bien la taille des champs si en taille fixe.

ensuite tu peux rediriger les données vers ta propre base de donnée ou bien reformater directement dans une page web sans stockage intermédiaire. mais ça veut dire que si digikey change un poil sa page ou la présentation de son CSV, ton script ne ressortira plus rien.

en le faisant en deux fois, un script de récupération et stockage, et un script d'affichage, ton script d'affichage fonctionnera correctement même en cas de changement côté digikey (mais affichera potentiellement des données obsolètes).

les deux sont possibles et ont leurs avantages, à toi de voir ce que tu souhaites faire.

Link to post
Share on other sites
$response =$client->request('GET','https://www.digikey.com/product-search/download.csv?FV=-8%7C649&quantity=0&ColumnSort=0&page=1&pageSize=25');

hehe ouai ce serait pratique mais ca marche pas. (error 403 forbidden)

idem pour cette forme la

$response=file_get_contents('https://www.digikey.com/product-search/download.csv?FV=-8|649&quantity=0&ColumnSort=0&page=1&pageSize=25');

(enfin pas tout a fait, parfois mon script fonctionne plus ou moins mais c'est instable et parfaitement aléatoire)

 

Edited by GROS_FAIGNAN
Link to post
Share on other sites

essaye en modifiant les headers pour te faire passer pour un Firefox valide, et vois depuis Firefox quels sont les champs sur les quels tu peux jouer pour faire passer la requête pour légitime.

0ACpe8T.png

{"headers":
	[
		{"name":"Host","value":"www.digikey.com"},
		{"name":"Referer","value":"https://www.digikey.com/products/en/capacitors/accessories/63"},
		{"name":"User-Agent","value":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0"}
	]
}

 

Edited by Minikea
Link to post
Share on other sites

vous auriez des source de bot ou de crawler /scraper tout pret, histoire d'avancer un peut plus vite, j'en ai trouver quelque un sur le net mais pas moyen de les faire tourner la pluspart sont plein de bug et ne sont plus maintenus ou avec des sources incomplètes/pas a jours.

[EDIT]

j'ai parler trop vite, j'en ai trouver qqun : apache lucene, elasticsearch, apache solr, sphinxsearch, dataparksearch, xapian, etc...

des avis concernant ces différents moteur ? de preference pour coder en php...^^ (pas trop le choix, python et ruby faut oublier, et javascript pas garanti que ca passe non plus)

 

et ici j'en ai carrement trouver 162 https://www.findbestopensource.com/tagged/search-engine

par contre je veut bien un descriptif des différentes catégories de projet qu'ont peut trouver (genre différence entre moteur de recherche, bot, crawler, spider, full-text, etc...)

Edited by GROS_FAIGNAN
Link to post
Share on other sites

a tient oui je cherche une methode pour envoyé une requete php (a priori POST donc) qui effectuerai une recherche sur google (qui mettrait un terme de recherche et cliquerai a ma place donc).

j'ai chercher des methode sur google pour faire ca mais j'ai rien trouver ^^ ... curieux.

pas moyen de trouver ca, qqun pourrait me dire de quel coté je doit cherché ? et comment definir quel param je doit utiliser par exemple ?

Link to post
Share on other sites
On 22/12/2019 at 22:12, GROS_FAIGNAN a écrit :

j'ai parler trop vite, j'en ai trouver qqun : apache lucene, elasticsearch, apache solr, sphinxsearch, dataparksearch, xapian, etc...

des avis concernant ces différents moteur ?

En général Élastic Search est conseillé pour les données dynamiques, solr pour les données peu mises à jour (historique)

Lucerne est un moteur, solr une 'surcouche' de lucene pour le rendre plus facilement utilisable

Link to post
Share on other sites

sinon y'a aussi peut etre le couple HTTPClient / DomCrawler fournit par symfony, qui devrait peut être suffire, reste a savoir si je vais reussir a trouver manpages et tuto par ce que sur le site de symfony, perso je trouve que c'est pas super la joie.

Edited by GROS_FAIGNAN
Link to post
Share on other sites

qqun sait comment entré du text dans le champ de recherche d'un moteur de recherche vai un code php et recuperer la page de retour correspondante ?

[EDIT] en fait je cherche la facon de recuperer la liste des parametre que je doit envoyer en POST pour effectuer ma recherche ^^

Edited by GROS_FAIGNAN
Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...