2015-12-16 8 views
9

मैं file_get_contents का उपयोग कर किसी वेबपृष्ठ (http://3sk.tv) की सामग्री को पुनर्प्राप्त करने का प्रयास कर रहा हूं। दुर्भाग्यवश, परिणामी आउटपुट में कई तत्व (छवियां, फॉर्मेटिंग, स्टाइल, आदि ...) गायब हैं, और मूल रूप से मूल पृष्ठ की तरह कुछ भी नहीं दिख रहा है जिसे मैं पुनर्प्राप्त करने का प्रयास कर रहा हूं।file_get_contents पूरे वेबपृष्ठ को वापस नहीं कर रहे हैं

यह किसी भी अन्य यूआरएल के साथ पहले कभी नहीं हुआ है, मैंने इस विधि का उपयोग करके पुनर्प्राप्त करने का प्रयास किया है, लेकिन किसी कारण से, यह विशेष यूआरएल (http://3sk.tv) ठीक से काम करने से इंकार कर देता है।

कोड मैं का उपयोग कर रहा है:

<?php 
$homepage = file_get_contents('http://3sk.tv'); 
echo $homepage; 
?> 

मैं कुछ भी याद आ रही है? इस काम को ठीक से कैसे प्राप्त करें इस पर सभी सुझावों की सराहना की जाएगी। आपके समय और विचार के लिए सभी को धन्यवाद।

+0

मैं 'cURL' इस के लिए उपयोग करने की अनुशंसा करेंगे। [विवरण के लिए यहां देखें] (https://davidwalsh.name/curl-download)। इसके अलावा थके हुए हो, scraping हमेशा नहीं है कानूनी ... – chriz

+0

कर्ल कार्यान्वयन आप के लिए भेजा उपयोग करने की कोशिश, तो दुर्भाग्य से कोई परिवर्तन नहीं बिल्कुल भी था। आपके सहयोग के लिए धन्यवाद। – jameslanvin

+0

बीटीडब्ल्यू यह एक यूनी रिसर्च पेपर के लिए है, प्रयोजनों को स्क्रैपिंग नहीं – jameslanvin

उत्तर

4

मैं एक त्वरित समाधान का संबंधित पथ

http://www.w3schools.com/tags/tag_base.asp

ठीक करने के लिए है बस अपने कोड <base> टैग में जोड़ें।

<?php 
$homepage = file_get_contents('http://3sk.tv'); 
echo str_replace(
    '<head>', 
    '<head><base href="http://3sk.tv" target="_blank">', 
    $homepage 
); 
?> 

यह मदद करनी चाहिए।

+0

हाय @ jQuery00, आपके द्वारा सुझाए गए विधि का उपयोग कर की कोशिश की, अंतिम आउटपुट (शरीर में छवियों दिखाई दिया), लेकिन अभी भी सीएसएस और स्टाइल के कई तत्व गायब होने में कुछ सुधार हुआ था। किसी भी सुझाव की अत्यधिक सराहना की जाएगी। धन्यवाद – jameslanvin

+0

हाय @jameslanvin आपके लिए अच्छी खबर है। मुझे एक समस्या मिली और सवाल अपडेट किया।अब एक आकर्षण की तरह काम करते हैं! – jQuery00

+1

बस इसे फिर से परीक्षण किया, आप महोदय, file_get_contents whisperer हैं! बहुत बढ़िया। लगभग सही काम करता है! धन्यवाद – jameslanvin

5

सामान्य व्यवहार Thats, जैसा कि आप केवल फ़ाइल हथियाने रहे हैं, और नहीं संबंधित चित्रों, स्टाइलशीट आदि ...

+0

आपका निरपेक्ष अधिकार यह छवियों या सीएसएस को फिर से लोड नहीं करता है ... पूरी सामग्री को पुनर्प्राप्त करने के तरीके पर कोई विचार/सुझाव ?? – jameslanvin

3

यह वह जगह है उम्मीद की जा करने के लिए। जब आप स्रोत कोड देखें, तो आप जो एक पूर्ण यूआरएल (पूर्वlib/dropdown/dropdown.css) की जरूरत नहीं है कई स्थानों पर ध्यान देंगे। यह ब्राउज़र को http://3sk.tv/lib/dropdown/dropdown.css मानने के लिए कहता है। हालांकि, आपकी वेबसाइट पर, यह YOURURL.COM/lib/dropdown/dropdown.css होगा, जो अस्तित्व में नहीं है। यह अधिकांश सामग्री के लिए मामला होगा।

तो, आप सिर्फ एक और वेबसाइट के स्रोत को मुद्रित नहीं कर सकते हैं और इसे काम करने की उम्मीद कर सकते हैं। यह एक ही यूआरएल होना चाहिए।

किसी अन्य वेबसाइट को एम्बेड करने का सबसे अच्छा तरीका आमतौर पर iframe या some alternative का उपयोग करना है।

2

वेबपृष्ठ पूरी तरह से जेनरेट नहीं किया गया है, लेकिन यह HTML भाग लोड होने के बाद जावास्क्रिप्ट पर भारी निर्भर करता है। यदि आप पृष्ठ को ब्राउज़र में दिखने के रूप में प्रस्तुत करने की तलाश में हैं, तो आपको इसके बजाय एक हेडलेस ब्राउज़र की आवश्यकता हो सकती है - उदा। इस PhantomJS के लिए बाध्य: http://jonnnnyw.github.io/php-phantomjs/

+1

(के लिए के रूप में "यह पहले कभी नहीं हुआ" - अपने आप को संभालो, तुम भाग्यशाली थे अब तक, ऐसा होता है काफी हर समय) – Piskvor

+0

"अपने आप को संभालो" <= जानना अच्छा thanx। मैं वर्तमान में आपके द्वारा सुझाए गए समाधान का परीक्षण कर रहा हूं (केवल फैंटोमज़ बनाने के लिए प्रतीक्षा कर रहा हूं ... लंबी प्रक्रिया) आपको यह बताएगी कि यह जल्द ही कैसे हुआ। – jameslanvin

संबंधित मुद्दे