I don't doubt that if you look hard enough you can find both good contractors and good clients. I think it's the rare exception and not the rule though. The last time I looked at Upwork was when it was called Odesk so I was curious if anything had changed so I went back and looked this afternoon. Here is a sampling of job postings that came up searching for Python jobs...
1) "Image Viewer - Python: In search of a python developer to build an application which cleanly display and organizes many images (200+) as thumbnails on one interface. The interface will display approx 6 data fields contained in two tables."
Budget: $50 (This client has previously hired 7 other people and spent $477 in total on Upwork)
2) "Python Help: I am looking for help in my python code, searching feature and fixing. Its a assignment if you can do this quickly let me know. Coding is almost completed, you need to correct logic and searching features. Hardly 35-50 line code, small assignment."
Budget: $10 (This client has previously hired 9 people and spent $284 in total on Upwork)
3) "Parse Fields from HTML file: Parse fields from HTML document Required language: Python (Python package BeautifulSoup is allowed/preferred.) Input: Python function that accepts file name (2 HTML files) Output: Python dictionary. All listed fields should be a separate key. Addresses should also be a dictionary so that city, state, and zip are separate Fields to pull out: First Name, Last Name, City, State, ETC ETC roughly 20 fields between two different HTML document types/formats."
Budget: $60 (This client has previously hired 23 people and spent $3,791 on Upwork, they pay an average of $10.10 per hour)
So based on those I don't think it has improved at all.