2012-05-04 10 views
5

कुल नोब, जाहिर है। खुले रिकॉर्ड/सरकारी पारदर्शिता/रिपोर्टिंग/आदि के हित में वेब स्क्रैपिंग के लिए स्वयं पाइथन शिक्षण।पायथन/वेब स्क्रैप/एएसपीएक्स - क्या कोई रूप नहीं होने पर यह मानवीय रूप से संभव है?

वहाँ एक .aspx पेज मैं स्क्रैप करने का जनवरी के लिए एक सप्ताह-दर-सप्ताह कैलेंडर चाहते हैं - मार्च 2012

लेकिन यह कोई रूप हैं ...

शायद आप ठीक लोगों ने मुझे बता सकते हैं इससे पहले कि मैं इसके साथ लड़ने में दिन बिताता हूं, एक समाधान भी संभव है।

http://webmail.legis.ga.gov/Calendar/default.aspx?chamber=house

कैलेंडर पर अपॉइंटमेंट को देखने के लिए एक ही रास्ता एक कैलेंडर की एक तस्वीर पर एक दिन का चयन करके है। लेकिन, कम से कम, यदि आप सोमवार को क्लिक करते हैं, तो यह सभी सप्ताह की नियुक्तियों को दिखाता है। (मैं उन सभी नियुक्तियों को इकट्ठा करना चाहता हूं ताकि प्रत्येक समिति कितनी बार मिलती है, यह समझने के लिए कि किस तरह के कानून पर ध्यान दिया जाता है और किस प्रकार की नजरअंदाज की जाती है, गिनती के लिए कुछ प्रॉक्सी होती है।)

लेकिन इसलिए, किस रणनीति का उपयोग करना है ? ऐसा प्रतीत होता है कि प्रत्येक महीने कम से कम अपने आंतों में एक अनुक्रमिक चार अंकों की संख्या को "वी" के साथ प्रस्तुत किया जाता है, जैसे V4414, और गैर-प्रीपेड नंबर वाले दिन।

मैं केवल जनवरी - मार्च 2012 शिकार कर रहा हूं; अन्य महीने गैर-जर्मन हैं और अधिकतर खाली हैं।

एक सुराग?

...<a href="javascript:__doPostBack('calMain','V4414')" style="color:#333333" title="Go to the previous month">February</a></td><td align="center" style="width:70%;">March 2012</td><td align="right" valign="bottom" style="color:#333333;font-size:8pt;font-weight:bold;width:15%;"><a href="javascript:__doPostBack('calMain','V4474')" style="color:#333333" title="Go to the next month">April</a></td></tr> 

एक पैटर्न?

...<td align="center" style="color:#999999;width:14%;"><a  href="javascript:__doPostBack('calMain','4439')" style="color:#999999" title="February 26">26</a></td><td align="center" style="color:#999999;width:14%;"><a href="javascript:__doPostBack('calMain','4440')" style="color:#999999" title="February 27">27</a></td><td align="center" style="color:#999999;width:14%;"><a href="javascript:__doPostBack('calMain','4441')" style="color:#999999" title="February 28">28</a></td>... 

चीयर्स और धन्यवाद !!

+0

इसमें एक 'फॉर्म' तत्व है। –

उत्तर

2

क्वेरी स्ट्रिंग बनाने के लिए urllib.parse.urlencode जैसे कुछ का उपयोग कर पायथन में POST अनुरोध को दोहरा सकता है।

इसके लिए आपको यह पता लगाना होगा कि क्वेरी स्ट्रिंग कैसा दिखता है, जाहिर है। या, आप Selenium RC जैसे किसी अन्य टूल का उपयोग कर सकते हैं।

  • __EVENTTARGET
  • __EVENTARGUMENT
  • __VIEWSTATE
  • __EVENTVALIDATION

बाद के दो प्रारंभिक मान है:

5

फार्म के name रों के साथ चार input रों में शामिल है। आपको उनको खरोंच करने की ज़रूरत है। पूर्व दो उन लिंक द्वारा निर्धारित हैं। href पर

<a href="javascript:__doPostBack('calMain','4504')" style="color:Black" title="May 01">1</a> 

देखो:

javascript:__doPostBack('calMain','4504') 

किसी तरह, इसे से बाहर उन दो तार पार्स उदाहरण के लिए, आप एक लिंक है। पूर्व __EVENTTARGET है। उत्तरार्द्ध __EVENTARGUMENT है।

आपके पास डेटा के सभी चार टुकड़े होने के बाद, आप अगले पृष्ठ प्राप्त करने के लिए POST अनुरोध जारी कर सकते हैं।

+0

धन्यवाद आप सब! काम पूरा होने पर मैं यहां एक लिंक पोस्ट करूंगा। मुझे पता है कि यह आकर्षक होगा, लॉज। – greencracker

+0

यह बहुत बढ़िया था, धन्यवाद! – Lazik

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

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