sonyxp Δημοσ. 4 Μαΐου 2013 Δημοσ. 4 Μαΐου 2013 (επεξεργασμένο) Θέλω να διαβάσω ένα συγκεκριμένο κείμενο Έστω ότι έχω <div id="myID">Onoma:<font color="Green">Mitsos</font></div> Θέλω να διαβάσω το "Mitsos", πως θα αποκλείσω τα άλλα? ΟΚ Το έκανα, λίγο μπακαλίστικα αλλα καλά είναι... string GetTotalAccounts() { string strRegex = "Accounts.*</font><font color=\"green\">[0-9]*</font>"; string strRegex2 = "[0-9]+"; // Stages string stage1Text = ""; string stage2Text = ""; string stage3Text = ""; WebRequest request = WebRequest.Create("..."); WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); stage1Text = reader.ReadToEnd(); // Regex Options RegexOptions myRegexOptions = RegexOptions.None; /* 1st Round: Get Text with Tags -> Accounts <font color="green">10</font> 2nd Round: From the 1st keep only number, -> 10 */ Regex myRegex1 = new Regex(strRegex, myRegexOptions); Regex myRegex2 = new Regex(strRegex2, myRegexOptions); // Find in all HTML Code for the first part & copy it foreach (Match myMatch in myRegex1.Matches(stage1Text)) { if (myMatch.Success) //Copy that part stage2Text = myMatch.Value.ToString(); } // Search in copied text for number foreach (Match myMatch in myRegex2.Matches(stage2Text)) { if (myMatch.Success) stage3Text = myMatch.Value.ToString(); } return ( stage3Text.ToString() ); }//GetTotalAccounts Αν έχετε κάτι καλύτερο Please help me Επεξ/σία 4 Μαΐου 2013 από sonyxp
παπι Δημοσ. 4 Μαΐου 2013 Δημοσ. 4 Μαΐου 2013 Πχ θελω τα μελη απο το http://www.subz.tv/ Με τον chrome παταω rclick πανω σε καποιο ονομα και μετα επιθεωρηση στοιχειου για να δω που ειναι αυτο το ονομα (σε ποιο node etc..) και βου α λα βλεπεις το ονομα ειναι στο html > body > div id=main > div id = side-border-right > div class=panelbody (το 4 κατα σειρα) μεσα σε spans αρα αυτο ειναι ουσιαστικα ενα path, ψαχνω για html document στο msdn που να εχει xpath και δεν βρισκω (σορυ για το σπασιμο στο post αλλα αυτη τη στιγμη λυνω αυτο το προβλημα) οκ, τωρα βρικα οτι υπαρχει αυτο εδω που εχει html doc & xpath τωρα το xpath για τα spam ειναι @"/html/body/div[@id='main']/div[@id='side-border-right']/div[@class='panelbody'][4]/span" με αυτο θα παρω ολα τα span που ειναι μεσα στο html/body/div...κλπ και ετσι θα παρω ολα τα ονοματα που ειναι μεσα σε span using HtmlAgilityPack; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace deleteme { class Program { static void Main(string[] args) { using (var wc = new WebClient()) { var data = wc.DownloadData("http://www.subz.tv"); var htm = Encoding.UTF8.GetString(data); var doc = new HtmlDocument(); doc.LoadHtml(htm); var onLineMembers = doc.DocumentNode.SelectNodes (@"/html/body/div[@id='main']/div[@id='side-border-right']/div[@class='panelbody'][4]/span"); foreach(var onLineMember in onLineMembers) { Console.WriteLine(onLineMember.InnerText); } } Console.Read(); } } } 1
sonyxp Δημοσ. 5 Μαΐου 2013 Μέλος Δημοσ. 5 Μαΐου 2013 Thanks, γνωρίζεις αν το GeckoWebBrowser διαθέτει κάποια συνάρτηση για auto click ? το απλό control έχει αυτή τη δυνατότητα αλλά χτυπάει πολλές φορές με κάποια script γιατί ίσως είναι παλιό και έχει θέμα συμβατότητας το Gecko από την άλλη έχει αρκετά καλά όπως "GetElementByName" "GetElementByTagName" "GetElementByClassName" Random rndName = new Random(); string user = "UserRnd" + rndName.Next(1, 9999); string pass = "RandVal" + rndName.Next(1, 9999); string email = "emRands_m" + rndName.Next(1, 9999); gweb.Document.GetElementsByName("account")[0].SetAttribute("value", user); gweb.Document.GetElementsByName("password1")[0].SetAttribute("value", pass); gweb.Document.GetElementsByName("password2")[0].SetAttribute("value", pass); gweb.Document.GetElementsByName("email")[0].SetAttribute("value", email + "@yahoo.com"); gweb.Document.GetElementsByName("rules")[0].SetAttribute("checked", null); Αλλά δεν έχει πχ ... InvokeMember("click");
παπι Δημοσ. 5 Μαΐου 2013 Δημοσ. 5 Μαΐου 2013 doser? Μεταξυ μας, δεν χρειαζεται να κανεις κατι invoke, απλα στελνε POST
sonyxp Δημοσ. 5 Μαΐου 2013 Μέλος Δημοσ. 5 Μαΐου 2013 doser? Μεταξυ μας, δεν χρειαζεται να κανεις κατι invoke, απλα στελνε POST όχι, απλά το κάνω για να μάθω ρε παιδι μου (τώρα το οτι εβαλα το προγραμμα πριν για μερικα ελαχιστα λεπτα και εφτιαξε 1κ accounts στη βαση τους ειναι αλλο θεμα ) ναι το έψαξα το θέμα και τα POST είναι η καλύτερη επιλογή, απλά ένα σιτε που θέλω έχει Accepts Cookies και δεν ξέρω να τα χειριστώ Αν γνωρίζεις σε παρακαλώ μπορείς να με βοηθήσεις? η ιστοσελίδα είναι: http://l2mystic.com/acp/ εδώ είναι ο κώδικας για ένα άλλο site void PostRequest() { k++; Random rnd = new Random(); string username = "sTste9" + rnd.Next(1, 9999).ToString() + "s" + rnd.Next(1, 9999).ToString(); string password = "sPrtys4" + rnd.Next(1, 9999).ToString() + "p" + rnd.Next(1, 9999).ToString(); string email = rnd.Next(1, 9999).ToString() + "urt8sw" + rnd.Next(1,100) +"@test.com"; string result = ""; string post = "account="+username+"&password1="+password+"&password2="+password+"&email="+email+"&rules=1®ister=Confrimation"; StreamWriter sw = null; HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://xxxxx.com/index.php?page=register"); request.Method = "POST"; request.ContentLength = post.Length; request.ContentType = "application/x-www-form-urlencoded"; try { sw = new StreamWriter(request.GetRequestStream()); sw.Write(post); } catch (Exception e) { MessageBox.Show("Exception: Failed to Post"); } finally { sw.Close(); } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (StreamReader sr = new StreamReader(response.GetResponseStream())) { result = sr.ReadToEnd(); sr.Close(); } lWindow.AppendLog(result, k); lWindow.UpdateLogWindow(); } Αλήθεια, στις πόσες εγγραφές θα crasharei η βάση? θα μπορέσει πχ να φορτώσει 100κ εγγραφές όταν ξεκινήσει ο Game Server?
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα