makineyi alamıyor Python kullanarak bir form doldurmaya ve göndermeye çalışıyorum ancak ortaya çıkan sayfayı alamıyorum. Formu göndermek için hem mekanizma hem de urllib/urllib2 yöntemlerini denedim, ancak her ikisi de sorunlara yol açtı.Python, urllib ile formu alamıyor veya
Almaya çalıştığım form şudur: http://zrs.leidenuniv.nl/ul/start.php. Sayfa Hollandaca, ama bu benim sorunumla alakasız. Form eyleminin http://zrs.leidenuniv.nl/ul/query.php'a yönlendirmesi dikkat çekebilir. Ben orijinal sayfayı olsun alınan html yazdırmaya çalıştığınızda, bir değil form işlemi ifade eder, ancak
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()
: Herşeyden
Birincisi, bu denedim urllib/urllib2 yöntemidir için. Dolayısıyla, bu formun neden sunulmadığına dair herhangi bir ipucu büyük ölçüde takdir edilecektir.
Yukarıdaki işe yaramadığından, formu göndermek için mekaniği kullanmaya da çalıştım. Ancak, bu aşağıdaki kodla bir parseError sonuçlanır:
import mechanize
url = 'http://zrs.leidenuniv.nl/ul/start.php'
br = mechanize.Browser()
response = br.open(url)
br.select_form(nr = 0)
Son satır aşağıdaki çıkar burada: "parseError: beklenmeyen '-' Char bildiriminde". Şimdi, bu hatanın DOCTYPE bildirgesindeki bir hatayı gösterebileceğini anlıyorum, ancak form sayfasını düzenleyemediğimden, farklı bildirimleri denemiyorum. Bu hata ile ilgili herhangi bir yardım da büyük beğeni topluyor.
Yardımlarınız için şimdiden teşekkür ederiz.
Teşekkürler, bu işe yaradı! Hızlı cevabınız için teşekkürler. – GjjvdBurg
Diğer etiketleri de [BeautifulSoup kullanarak] kaldırabilirsiniz (http://stackoverflow.com/questions/5598524/can-i-remove-script-tags-with-beautifulsoup) – enkash