के साथ फॉर्म पुनर्प्राप्त करने में असमर्थ है, मैं पाइथन का उपयोग करके फ़ॉर्म भरने और सबमिट करने का प्रयास कर रहा हूं, लेकिन मैं परिणामस्वरूप पृष्ठ पुनर्प्राप्त करने में सक्षम नहीं हूं। मैंने फॉर्म पोस्ट करने के लिए मशीनीकरण और urllib/urllib2 विधियों दोनों की कोशिश की है, लेकिन दोनों समस्याओं में भाग लेते हैं।पायथन urllib या मशीनीकरण
जिस फ़ॉर्म को मैं पुनर्प्राप्त करने का प्रयास कर रहा हूं वह यहां है: http://zrs.leidenuniv.nl/ul/start.php। पृष्ठ डच में है, लेकिन यह मेरी समस्या के लिए अप्रासंगिक है। यह ध्यान देने योग्य हो सकता है कि फ़ॉर्म क्रिया http://zrs.leidenuniv.nl/ul/query.php पर रीडायरेक्ट करती है।
import urllib, urllib2
import socket, cookielib
url = 'http://zrs.leidenuniv.nl/ul/start.php'
params = {'day': 1, 'month': 5, 'year': 2012, 'quickselect' : "unchecked",
'res_instantie': '_ALL_', 'selgebouw': '_ALL_', 'zrssort': "locatie",
'submit' : "Uitvoeren"}
http_header = { "User-Agent" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.46 Safari/535.11",
"Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language" : "nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4" }
timeout = 15
socket.setdefaulttimeout(timeout)
request = urllib2.Request(url, urllib.urlencode(params), http_header)
response = urllib2.urlopen(request)
cookies = cookielib.CookieJar()
cookies.extract_cookies(response, request)
cookie_handler = urllib2.HTTPCookieProcessor(cookies)
redirect_handler = urllib2.HTTPRedirectHandler()
opener = urllib2.build_opener(redirect_handler, cookie_handler)
response = opener.open(request)
html = response.read()
जब मैं लिया गया एचटीएमएल मैं मूल पृष्ठ मिल प्रिंट करने का प्रयास हालांकि,, नहीं एक रूप कार्रवाई संदर्भित करता है:
सबसे पहले, इस urllib/urllib2 विधि मैं कोशिश की है है सेवा मेरे। तो किसी भी संकेत के रूप में यह फ़ॉर्म जमा क्यों नहीं करता है इसकी सराहना की जाएगी।
क्योंकि उपर्युक्त काम नहीं करता है, इसलिए मैंने फॉर्म जमा करने के लिए मशीनीकरण का उपयोग करने का भी प्रयास किया। बहरहाल, यह निम्न कोड के साथ एक ParseError में परिणाम:
import mechanize
url = 'http://zrs.leidenuniv.nl/ul/start.php'
br = mechanize.Browser()
response = br.open(url)
br.select_form(nr = 0)
जहां अंतिम पंक्ति निम्नलिखित के साथ बाहर निकल जाता है: "ParseError: अप्रत्याशित '-' चार घोषणा में"। अब मुझे एहसास है कि यह त्रुटि DOCTYPE घोषणा में एक त्रुटि इंगित कर सकती है, लेकिन चूंकि मैं फॉर्म पेज को संपादित नहीं कर सकता, इसलिए मैं अलग-अलग घोषणाओं को आजमाने में सक्षम नहीं हूं। इस त्रुटि पर किसी भी मदद की भी सराहना की है।
आपकी मदद के लिए अग्रिम धन्यवाद।
धन्यवाद, यह काम किया! आपके त्वरित उत्तर के लिए धन्यवाद। – GjjvdBurg
आप अन्य टैग को भी बंद कर सकते हैं [सुंदर सूप का उपयोग करके] (http://stackoverflow.com/questions/5598524/can-i-remove-script-tags-with-beautifulsoup) – enkash