10
मैं HTML पृष्ठ में पोस्ट अनुरोध भेजने से वापस पाने के लिए कोशिश कर रहा हूँ प्राप्त करने के लिए:अजगर urllib2 का उपयोग कर पोस्ट अनुरोध भेजने के लिए और प्रतिक्रिया
import httplib
import urllib
import urllib2
from BeautifulSoup import BeautifulSoup
headers = {
'Host': 'digitalvita.pitt.edu',
'Connection': 'keep-alive',
'Content-Length': '325',
'Origin': 'https://digitalvita.pitt.edu',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1',
'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Accept': 'text/javascript, text/html, application/xml, text/xml, */*',
'Referer': 'https://digitalvita.pitt.edu/index.php',
'Accept-Encoding': 'gzip,deflate,sdch',
'Accept-Language': 'en-US,en;q=0.8',
'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Cookie': 'PHPSESSID=lvetilatpgs9okgrntk1nvn595'
}
data = {
'action': 'search',
'xdata': '<search id="1"><context type="all" /><results><ordering>familyName</ordering><pagesize>100000</pagesize><page>1</page></results><terms><name>d</name><school>All</school></terms></search>',
'request': 'search'
}
data = urllib.urlencode(data)
print data
req = urllib2.Request('https://digitalvita.pitt.edu/dispatcher.php', data, headers)
response = urllib2.urlopen(req)
the_page = response.read()
soup=BeautifulSoup(the_page)
print soup
किसी को मुझे बताओ कि यह काम करने के लिए कर सकते हैं?
क्या आपने [अनुरोध] (http://docs.python-requests.org/en/latest/index.html) लाइब्रेरी की जांच की है? यह http अनुरोधों को अधिक आसान बनाता है। इसके अलावा आपके कुछ कैरिज रिटर्न गायब हैं, उदा। आपके आयात विवरणों के बीच, और आपके 'प्रिंट' कथन से पहले। क्या ये आपके मूल कोड में भी मौजूद हैं? – Maus
त्रुटि संदेश – Will
का उपयोग करना उपयोगी होगा pycurl का उपयोग करना बहुत आसान और क्लीनर है: http://stackoverflow.com/questions/22799648/convert-curl-example-to-pycurl – johannzhaojohann