मेरे पास एक तरीका है जो यूआरएल में लेता है और उस पृष्ठ पर सभी लिंक पाता है। हालांकि मुझे चिंता है कि यह केवल लिंक ले रहा है जब मैं जांचता हूं कि लिंक काम कर रहे हैं या नहीं, तो कुछ लिंक अजीब लगते हैं। उदाहरण के लिए यदि मैं www.google.com पर लिंक देखता हूं तो मुझे 6 टूटी हुई लिंक मिलती हैं जो कोई http स्थिति कोड नहीं लौटाती है और इसके बजाय कहती है कि टूटी हुई लिंक के लिए 'कोई प्रोटोकॉल' नहीं है। मैं कल्पना नहीं करता कि Google के मुखपृष्ठ पर कोई टूटा लिंक होगा। टूटे हुए लिंक में से एक का उदाहरण है:/प्राथमिकताएं? एचएल = एन मैं नहीं देख सकता कि यह लिंक Google मुखपृष्ठ पर कहां है। मैं उत्सुक हूं अगर मैं सिर्फ लिंक देख रहा हूं या यह संभव है कि मैं कोड निकालने वाला हूं जो एक लिंक नहीं माना जाता है?क्या मैं केवल इस जावा कोड के साथ एक यूआरएल के लिंक की जांच कर रहा हूं?
यहाँ विधि है कि लिंक के लिए URL की जांच करता है:
public static List getLinks(String uriStr) {
List result = new ArrayList<String>();
//create a reader on the html content
try{
System.out.println("in the getlinks try");
URL url = new URI(uriStr).toURL();
URLConnection conn = url.openConnection();
Reader rd = new InputStreamReader(conn.getInputStream());
// Parse the HTML
EditorKit kit = new HTMLEditorKit();
HTMLDocument doc = (HTMLDocument)kit.createDefaultDocument();
kit.read(rd, doc, 0);
// Find all the A elements in the HTML document
HTMLDocument.Iterator it = doc.getIterator(HTML.Tag.A);
while (it.isValid()) {
SimpleAttributeSet s = (SimpleAttributeSet)it.getAttributes();
String link = (String)s.getAttribute(HTML.Attribute.HREF);
if (link != null) {
// Add the link to the result list
System.out.println(link);
//System.out.println("link print finished");
result.add(link);
}
//System.out.println(link);
it.next();
}
}
धन्यवाद, मुझे पता है कि आपका क्या मतलब है, मुझे यकीन नहीं है कि इसे कैसे कोड करें। अगर (लिंक! = uriStr + the href) लिंक के सामने यूआरएल जोड़ें। ऐसा कुछ है? – user1835504
क्षमा करें, केवल जावा सीखना। – user1835504
मैं कुछ ऐसा करूंगा: 'अगर (! "Http" .regionMatchches (सत्य, 0, लिंक, 0, 4)) {link = uriStr + link; } '। इस तरह आपको केस संवेदनशील लिंक, या 4 से कम वर्ण वाले href के बारे में चिंता करने की आवश्यकता नहीं है। क्षमा मांगने की कोई आवश्यकता नहीं। मदद करने के लिए खुशी :) –