मैं नियमित अभिव्यक्तियों का उपयोग करके PHP में कुछ HTML स्क्रैपिंग कर रहा हूं। यह काम करता है, लेकिन परिणाम परिष्कृत और नाजुक है। क्या किसी ने किसी भी पैकेज का उपयोग किया है जो अधिक मजबूत समाधान प्रदान करता है? एक कॉन्फ़िगर संचालित समाधान आदर्श होगा, लेकिन मैं picky नहीं हूँ।PHP में HTML स्क्रैपिंग
उत्तर
मैं पृष्ठ से HTML को स्क्रैप करने के बाद PHP Simple HTML DOM Parser की पुनरावृत्ति करूंगा। यह अमान्य HTML का समर्थन करता है, और HTML तत्वों को संभालने का एक बहुत ही आसान तरीका प्रदान करता है।
सुझाए गए तीसरे पक्ष के विकल्प [SimpleHtmlDom] (http://simplehtmldom.sourceforge.net/) है कि वास्तव में उपयोग करने के लिए [डोम] (http://php.net/manual/en/book.dom.php) स्ट्रिंग पार्सिंग के बजाय : [phpQuery] (http://code.google.com/p/phpquery/), [Zend_Dom] (http://framework.zend.com/manual/en/zend.dom.html), [क्वेरीपैथ] (http://querypath.org/) और [फ्लुएंटडोम] (http://www.fluentdom.org)। – Gordon
क्या आप मुझे किसी दिए गए पृष्ठ पर किसी भी लिंक पर क्लिक करने के लिए उदाहरण दे सकते हैं? –
यदि आप जिस पृष्ठ को स्क्रैप कर रहे हैं वह वैध एक्स (एचटी) एमएल है, तो PHP's built-in XML parsers में से कोई भी करेगा।
मुझे स्क्रैपिंग के लिए PHP पुस्तकालयों के साथ बहुत सफलता नहीं मिली है। यदि आप साहसी हैं, तो आप simplehtmldom आज़मा सकते हैं। मैं पाइथन के लिए रूबी या Beautiful Soup के लिए Hpricot की अनुशंसा करता हूं, जो HTML के लिए उत्कृष्ट पार्सर्स दोनों हैं।
यदि आप विशेष रूप से मैला एचटीएमएल पार्सिंग करने जा रहे हैं, तो सुनिश्चित करें कि आप सुंदर सूप 3.1.x का उपयोग नहीं करते हैं (3.0.x का उपयोग करें)। 3.1.x htmllib का उपयोग अपने पार्सर के रूप में करता है, जो 3.0.x के sgmllib के उपयोग से बहुत कम क्षमा कर रहा है। – Tom
मैंने उपरोक्त वर्णित Simple Html DOM Parser के साथ परिणामों के साथ बहुत अच्छा प्रदर्शन किया है। और फिर tidy Extension for PHP भी है जो अच्छी तरह से काम करता है।
मुझे htmlSQL के साथ काम करने में कुछ मज़ा आया, जो कि बहुत अधिक अंत समाधान नहीं है, लेकिन काम करने के लिए वास्तव में आसान है।
एचटीएमएल स्क्रैपिंग के लिए PHP का उपयोग करके, मैं curl + regexp या curl + कुछ डीओएम पार्सर्स की सिफारिश करता हूं हालांकि मैं व्यक्तिगत रूप से curl + regexp का उपयोग करता हूं। यदि आपके पास regexp का गहरा स्वाद है, तो यह वास्तव में कभी-कभी अधिक सटीक होता है।
मैं 'सरल HTML डोम पार्सर' की भी सिफारिश करता हूं। यह एक अच्छा विकल्प है, खासकर यदि आप jQuery या जावास्क्रिप्ट चयनकर्ताओं से परिचित हैं तो आप घर पर खुद को पा लेंगे।
मैं अपने मेजबान 1and1 पर कर्ल का उपयोग करने के लिए किया था।
http://www.quickscrape.com/ मैं सरल डॉम कक्षा का उपयोग करने के साथ आया था!
- 1. PHP में वेब स्क्रैपिंग
- 2. सामान्य लिस्प में एक HTML तालिका स्क्रैपिंग?
- 3. PHP के लिए स्क्रैपिंग लाइब्रेरी - phpQuery?
- 4. PHP/HTML
- 5. एचटीएमएल स्क्रैपिंग और सीएसएस प्रश्न
- 6. मैं PHP या HTML
- 7. php/html - http_referer
- 8. php और html
- 9. PHP एक HTML पृष्ठ में HTML ईमेल प्रदर्शित करता है
- 10. मैं HTML (.html) फ़ाइलों में PHP कोड/फ़ाइल कैसे जोड़ूं?
- 11. सुपर-फास्ट स्क्रीन स्क्रैपिंग तकनीकें?
- 12. स्क्रैपिंग साइट्स जिन्हें पाइथन
- 13. भारी आईट्यून्स कनेक्ट स्क्रैपिंग
- 14. PHP JSON प्रतिक्रिया में HTML शीर्षलेख
- 15. HTML पृष्ठ में PHP को कॉल करना
- 16. रूबी - वेब स्क्रैपिंग - (ओपनयूआरआई :: HTTPError)
- 17. सभी .html एक्सटेंशन को .php
- 18. पायथन 3 वेब स्क्रैपिंग विकल्प
- 19. PHP का उपयोग करके HTML ईमेल भेजना: HTML फ़ाइल
- 20. बड़े पैमाने पर स्क्रैपिंग/पार्सिंग के लिए कौन सी तकनीक?
- 21. स्क्रीन स्क्रैपिंग: नियमित अभिव्यक्तियां या XQuery अभिव्यक्तियां?
- 22. पावर शैल वेब स्क्रैपिंग एसएसएल/टीएसएल अंक
- 23. PHP: HTML विशेषता एन्कोडिंग/जावास्क्रिप्ट डिकोडिंग
- 24. एक्सेल करने के लिए HTML तालिका - PHP
- 25. php/html पेज सुरक्षित/https कैसे बनाएं?
- 26. PHP स्क्रिप्ट से JSON और HTML लौटने
- 27. PHP/Zend, जावास्क्रिप्ट/JQuery, सीएसएस, HTML, XML
- 28. बेहतर PHP, MySQL, HTML और जावास्क्रिप्ट आईडीई
- 29. कोडिनेटर PHP JSON HTML प्रतिक्रिया भेजता है
- 30. php/HTML प्रपत्र पद अतिरिक्त मूल्यों
[इस] (http://stackoverflow.com/questions/26947/how-to-implement-a-web-scraper-in-php#27109) धागा पर एक नजर डालें - प्रश्न एक समान दिशा में चला जाता है – crono