2016-06-16 3 views
5

मैं इस page (http://shop.coles.com.au/online/national/bread-bakery/fresh/bread#pageNumber=2&currentPageSize=20)वेब एक वेबपेज जो ajax

पर उत्पादों को स्क्रैप करना चाहते हैं लेकिन उत्पादों को एक post अनुरोध से भरी हुई है कहो के माध्यम से भरी हुई गतिशील सामग्री है scraping। यहां बहुत सी पोस्ट गतिशील सामग्री प्राप्त करने के अनुरोध को अनुकरण करने का सुझाव देती हैं, लेकिन मेरे मामले में Form Data मेरे लिए अज्ञात है, यानी catalogId, categoryId

मुझे आश्चर्य है कि AJAX कॉल समाप्त होने के बाद response प्राप्त करना संभव है?

उत्तर

2

आप catalogId और अन्य पैरामीटर id="search" साथ form से पोस्ट अनुरोध बनाने के लिए आवश्यक मूल्यों को प्राप्त कर सकते हैं:

<form id="search" name="search" action="http://shop.coles.com.au/online/SearchDisplay?pageView=image&amp;catalogId=10576&amp;beginIndex=0&amp;langId=-1&amp;storeId=10601" method="get" role="search"> 
    <input type="hidden" name="storeId" value="10601" id="WC_CachedHeaderDisplay_FormInput_storeId_In_CatalogSearchForm_1"> 
    <input type="hidden" name="catalogId" value="10576" id="WC_CachedHeaderDisplay_FormInput_catalogId_In_CatalogSearchForm_1"> 
    <input type="hidden" name="langId" value="-1" id="WC_CachedHeaderDisplay_FormInput_langId_In_CatalogSearchForm_1"> 
    <input type="hidden" name="beginIndex" value="0" id="WC_CachedHeaderDisplay_FormInput_beginIndex_In_CatalogSearchForm_1"> 
    <input type="hidden" name="browseView" value="false" id="WC_CachedHeaderDisplay_FormInput_browseView_In_CatalogSearchForm_1"> 
    <input type="hidden" name="searchSource" value="Q" id="WC_CachedHeaderDisplay_FormInput_searchSource_In_CatalogSearchForm_1"> 
    ... 
</form> 

इस प्रपत्र प्रस्तुत करने के लिए FormRequest का प्रयोग करें।


मैं सोच रहा हूँ यह बाद ajax कॉल समाप्त हो जाने की प्रतिक्रिया प्राप्त करने के लिए संभव है?

स्क्रैप ब्राउज़र नहीं है - यह पेज लोड करने के लिए अतिरिक्त AJAX अनुरोध नहीं करता है और जावास्क्रिप्ट निष्पादित करने के लिए अंतर्निहित कुछ भी नहीं है। आप एक वास्तविक ब्राउज़र का उपयोग कर सकते हैं और इसे उच्च स्तर पर हल कर सकते हैं - selenium package पर देखें। संबंधित scrapy-splash प्रोजेक्ट भी है।

यह भी देखें:

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