मैं ASP.NET का उपयोग कर वेब पेज की सामग्री कैसे प्राप्त कर सकता हूं? मुझे वेबपृष्ठ के एचटीएमएल प्राप्त करने के लिए एक प्रोग्राम लिखना होगा और इसे एक स्ट्रिंग वैरिएबल में स्टोर करना होगा।मैं वेब पेज की सामग्री कैसे प्राप्त कर सकता हूं और इसे स्ट्रिंग वेरिएबल में सहेज सकता हूं
उत्तर
आप WebClient
WebClient client = new WebClient();
string downloadString = client.DownloadString("http://www.gooogle.com");
Webclient client = new Webclient();
string content = client.DownloadString(url);
उस पृष्ठ का URL पास करें जिसे आप प्राप्त करना चाहते हैं। आप htmlagilitypack का उपयोग कर परिणाम पार्स कर सकते हैं।
मैंने पहले Webclient.Downloadstring में समस्याएं आती हैं का उपयोग कर सकता। WebClient.DownloadString
का उपयोग कर
WebRequest request = WebRequest.Create("http://www.google.com");
WebResponse response = request.GetResponse();
Stream data = response.GetResponseStream();
string html = String.Empty;
using (StreamReader sr = new StreamReader(data))
{
html = sr.ReadToEnd();
}
क्या आप अपनी समस्या पर विस्तार कर सकते हैं? – Greg
@ ग्रेग, यह एक प्रदर्शन से संबंधित मुद्दा था। मैंने इसे वास्तव में कभी हल नहीं किया है, लेकिन WebClient.DownloadString को HTML को खींचने में 5-10 सेकंड लगेंगे, जहां WebRequest/WebResponse लगभग तत्काल था। यदि ओपी के पास समान समस्याएं थीं या अनुरोध/प्रतिक्रिया पर थोड़ा अधिक नियंत्रण चाहते थे तो बस एक और वैकल्पिक समाधान प्रस्तावित करना चाहता था। – Scott
@ स्कॉट - इसे ढूंढने के लिए +1। बस कुछ परीक्षण चलाएं। डाउनलोडस्ट्रिंग ने पहले उपयोग (52 99एमएस डाउनलोडस्ट्रिंग बनाम 200 एमएमएस वेबआरक्वेट) पर अधिक समय लगाया। कैशिंग से बचने के लिए विभिन्न यूआरएल का उपयोग करके, 50 एक्स बीबीसी, 50 एक्स सीएनएन और 50 एक्स पर एक लूप में इसका परीक्षण किया गया। शुरुआती लोड के बाद, डाउनलोडस्ट्रिंग बीबीसी के लिए 20 एमएमएस तेज, सीएनएन पर 300 एमएस तेज हो गया। अन्य आरएसएस फ़ीड के लिए, WebRequest 3ms तेज था। आम तौर पर, मुझे लगता है कि मैं URL के माध्यम से लूपिंग के लिए एकल और डाउनलोडस्ट्रिंग के लिए WebRequest का उपयोग करूंगा। – HockeyJ
मेरा सुझाव है नहीं: यदि आप करते हैं, तो आप इस कोशिश कर सकते हैं। ऐसा इसलिए है क्योंकि (कम से कम .NET 3.5 में) डाउनलोडस्ट्रिंग बीओएम का उपयोग/निकालने के लिए पर्याप्त स्मार्ट नहीं है, यह उपस्थित होना चाहिए। इसके परिणामस्वरूप बीओएम (
) यूटीएफ -8 डेटा लौटाए जाने पर स्ट्रिंग के हिस्से के रूप में गलत रूप से दिखाई दे रहा है (कम से कम एक वर्णमाला के बिना) - ick!
इसके बजाय, इस मामूली बदलाव BOMs साथ सही ढंग से काम करेगा:
string ReadTextFromUrl(string url) {
// WebClient is still convenient
// Assume UTF8, but detect BOM - could also honor response charset I suppose
using (var client = new WebClient())
using (var stream = client.OpenRead(url))
using (var textReader = new StreamReader(stream, Encoding.UTF8, true)) {
return textReader.ReadToEnd();
}
}
- 1. मैं array.xml में रंग कैसे सहेज सकता हूं और इसे वापस रंग में प्राप्त कर सकता हूं [] सरणी
- 2. मैं एम्बेडेड संसाधन से फ़ाइल कैसे निकाल सकता हूं और इसे डिस्क पर सहेज सकता हूं?
- 3. PHP: मैं किसी वेब पेज की सामग्री को चर में कैसे लोड कर सकता हूं?
- 4. MATLAB में, मैं छवि को कैसे प्लॉट कर सकता हूं और इसे प्रदर्शित किए बिना परिणाम कैसे सहेज सकता हूं?
- 5. मैं यूआरएल से फाइल कैसे डाउनलोड कर सकता हूं और इसे रेल में कैसे सहेज सकता हूं?
- 6. मैं UITableView स्क्रॉल स्थिति कैसे प्राप्त कर सकता हूं ताकि मैं इसे सहेज सकूं?
- 7. मैं वेब पेज से डायनामिक सामग्री को कैसे पार्स कर सकता हूं?
- 8. मैं SourceForge में प्रोजेक्ट वेब पेज कैसे बदल सकता हूं?
- 9. मैं स्क्रीनशॉट कैसे ले सकता हूं और इसे विंडोज़ पर जेपीईजी के रूप में कैसे सहेज सकता हूं?
- 10. मैं स्ट्रिंग/बफर का अक्षर कैसे प्राप्त कर सकता हूं?
- 11. मैं सामग्री-स्वभाव हेडर की सामग्री कैसे पढ़ सकता हूं?
- 12. मैं स्वचालित रूप से फ़ाइल के रूप में OLEObject की सामग्री को कैसे सहेज सकता हूं?
- 13. NSUserdefaults में NSDictionary को कैसे स्टोर करें और मैं इसे कैसे प्राप्त कर सकता हूं
- 14. मैं एक जेपीनेल की सामग्री कैसे प्रिंट कर सकता हूं?
- 15. मैं एक नई कुंजी जोड़ी कैसे बना सकता हूं और उन्हें फ़ाइलों में सहेज सकता हूं?
- 16. मैं WPF में वैश्विक एप्लिकेशन चर कैसे सहेज सकता हूं?
- 17. मैं एप्लिकेशन को वापस बंडल में कैसे सहेज सकता हूं?
- 18. क्या मैं इसे Web2Py में कर सकता हूं?
- 19. रेल: मैं नाम के लिए स्वतः पूर्ण कैसे कर सकता हूं लेकिन आईडी सहेज सकता हूं?
- 20. मैं स्ट्रिंग का nth चरित्र कैसे प्राप्त कर सकता हूं?
- 21. मैं प्रतिनिधि कैसे प्राप्त कर सकता हूं?
- 22. मैं उपयोगकर्ता प्रकार के रूप में JTextField की सामग्री की लंबाई कैसे प्राप्त कर सकता हूं?
- 23. क्या मैं कैनवास तत्व से छवि प्राप्त कर सकता हूं और इसे img src टैग में उपयोग कर सकता हूं?
- 24. मैं केकेपीएचपी में सत्र डेटा कैसे बना सकता हूं, लिख सकता हूं और पढ़ सकता हूं?
- 25. फेसबुक ग्राफ़ एपीआई का उपयोग करके, मैं किसी पृष्ठ की सामग्री कैसे प्राप्त कर सकता हूं?
- 26. मैं प्रोग्राम की स्थिति कैसे प्राप्त कर सकता हूं?
- 27. मैं अपना खुद का हायर कैस्केड कैसे बना सकता हूं और इसे लागू कर सकता हूं?
- 28. svn में, क्या मैं एक बदलाव वापस कर सकता हूं और इसे बाद में शेल्फ कर सकता हूं?
- 29. मैं "कस्टम प्रोटोकॉल" कैसे बना सकता हूं और इसे किसी एप्लिकेशन पर मैप कर सकता हूं?
- 30. मैं सभी पेज तत्वों के लिए फ़ायरफ़ॉक्स में एक सामग्री कनवर्टर कैसे कार्यान्वित कर सकता हूं?
दुर्भाग्य DownloadString (.NET 3.5) के रूप में बहुत चालाक BOMs के साथ काम करने के लिए नहीं है। मैंने अपने जवाब में एक विकल्प शामिल किया है। – user2246674
कोई भी वोट नहीं (क्योंकि वेब क्लाइंट क्लाइंट = नया वेब क्लाइंट()) {} :) –
यह स्टीवन स्पीलबर्ग के उत्तर के बराबर है, 3 मिनट पहले पोस्ट किया गया था, इसलिए कोई +1 नहीं। – BalinKingOfMoria