Some advanced users may want to send POST/PUT requests in order to scrape forms and API endpoints directly. You can do this by sending a POST/PUT request through ScraperAPI. The return value will be stringified. So if you want to use it as JSON, you will need to parse it into a JSON object.
Copy import requests
payload = { 'api_key' : 'APIKEY' , 'url' : 'https://httpbin.org/anything' }
r = requests . post ( 'http://api.scraperapi.com' , params = payload, data = { 'foo' : 'bar' })
print (r.text)
Copy import requests
proxies = {
"http" : "http://scraperapi:APIKEY@proxy-server.scraperapi.com:8001"
}
r = requests . post ( 'http://httpbin.org/anything' , proxies = proxies, data = { 'foo' : 'bar' }, verify = False )
print (r.text)
Copy # remember to install the library: pip install scraperapi-sdk
from scraperapi_sdk import ScraperAPIClient
client = ScraperAPIClient ( 'APIKEY' )
postResult = client . post (url = 'http://httpbin.org/anything' , body = { 'foo' : 'bar' }}). text
putResult = client . put (url = 'http://httpbin.org/anything' , body = { 'foo' : 'bar' }}). text
print (postResult)
print (putResult)
Copy import requests
body = { 'apiKey' : 'APIKEY' , 'url' : 'https://httpbin.org/anything' , 'method' : 'POST' , 'headers' : { "content-type" : "application/x-www-form-urlencoded" }, 'body' : 'foo=bar' }
r = requests . post ( 'https://async.scraperapi.com/jobs' , headers = { "Content-Type" : "application/json" }, json = body)
print (r.text)