Je veux gratter une page pour toutes les URL et les mettre dans le dictionnaire. J'ai créé une classe avec un dictionnaire. Mais je n'arrive pas à ajouter des éléments.Pourquoi le dictionnaire membre de ce code f # est-il toujours vide?
type crawler =
new()= {}
member this.urls = new Dictionary<string,string>()
member this.start (url : string)=
let hw = new HtmlWeb()
let doc = hw.Load(url)
let docNode = doc.DocumentNode
let links = docNode.SelectNodes(".//a")
for aLink in links do
let href = aLink.GetAttributeValue("href"," ")
if href.StartsWith("http://") && href.EndsWith(".html") then
this.urls.Add(href, href)
Pourquoi les URL du dictionnaire sont-elles vides?
quelle serait la meilleure alternative? – unj2
Son code est la solution. Au lieu d'appeler la fonction get function à chaque fois, elle utilise le champ (qui est comme une valeur de niveau classe). Cela fonctionnerait également sans la propriété __. Urls (remarquez qu'il ne l'utilise pas). –