Bonjour tout le monde!
Voila, je suis nouveau ici, je débute dans le Java (enfin depuis le début de l'année :d)
et je cherche à créer une classe qui fasse cela
1/ Elle effectue une recherche sur Allocine
2/ Elle récupère le nombre de résultats
3/ Elle récupere l'URL de la premiere (ou de la n-ieme mais à implémenter)
4/ Elle se connecte sur cette URL
5/ Elle récupère des infos choisies
6/ Stockage en SQL
L'ennui, c'est que j'avais déja implémenté cela plus ou moins sur Animeka mais Animeka est bien plus léger que Allociné :d
Le principe revient à ouvrir un flux seulement ca plante
Ou plutot cela met bien du temps
Serait il possible de spécifier les bornes de mon InputStream ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 public class AllocineSearch{ /*This class aims to dl from Allocine details from movies*/ /* TODO =>fonction which allows to search in the series DB*/ String path; URL u; public AllocineSearch(String path) {/*Constructor*/ this.path=path; try { u=new URL(path); System.out.println("URL "+this.path+" valide"); } catch (MalformedURLException e) { System.out.println("URL "+this.path+" Non valide"); } } String read_str() throws IOException { int b; InputStream is = u.openStream(); String s = null; while ((b = is.read()) != -1) s+=(char) b; /*while*/ //EOF reached is.close(); int beginning=s.indexOf("Recherche : "); int ending =s.indexOf("Articles"); /*Gives the integer on which the Sequence begins with*/ String res = null ; for(int i=beginning;i<ending;i++) { res+=s.charAt(i); } return res; }/*read_str*/ boolean isIn(String form) { int beginning=form.indexOf("Recherche : "); /*Returns the int on which begins this sequence*/ int index = form.indexOf("Pas de résultats", beginning); return (index!=-1);/*indexOf returns -1 if not found*/ }
Voila mon code...
Quand j'exécute le Test, cela met bien 2-3 minutes rien que pour trouver le search...
D'où ma question pour limiter le champ de recherche...
Merci d avance!!!
Partager