Well that's because default User-Agent
of requests
is python-requests/2.13.0
, and in your case that website don't like traffic from "non-browsers", so they try to block such traffic.
>>> import requests
>>> session = requests.Session()
>>> session.headers
{'Connection': 'keep-alive', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'python-requests/2.13.0'}
All you need to do is to make the request appear like coming from a browser, so just add an extra header
parameter:
import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.76 Safari/537.36'} # This is chrome, you can set whatever browser you like
response = requests.get('http://www.rlsnet.ru/search_result.htm?word=%D6%E5%F0%E5%E1%F0%EE%EB%E8%E7%E8%ED', headers=headers)
print response.status_code
print response.url
200
http://www.rlsnet.ru/search_result.htm?word=%D6%E5%F0%E5%E1%F0%EE%EB%E8%E7%E8%ED
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…