python r.status_code 返回200,但是r.text 返回出错,怎么解决?

代码如下:

>>> import requests
>>> r=requests.get("https://item.jd.com/10022314203904.html")
>>> r.status_code
200
>>> r.encoding
'UTF-8'
>>> r.text[:2000]
"<script>window.location.href='https://passport.jd.com/new/login.aspx?ReturnUrl=http%3A%2F%2Fitem.jd.com%2F10022314203904.html'</script>"
>>> 

r.text 没有返回正确的内容,看不懂返回的是什么,怎么解决这个问题,小白来的,求大神们赐教,谢谢!

那如何写代码才能获得网页的内容?

把headers 带上就可以了

import requests
from bs4 import BeautifulSoup
headers={
    'User-Agent':'Mozilla/5.0 (iPhone; CPU IPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53',
    'Accept':'text/html,application/xhtml+xml,application/xml;''q=0.9,image/webp,*/*;q=0.8'
}
session=requests.Session()
html=session.get(url='https://item.jd.com/10022314203904.html',headers=headers)
html.encoding='utf-8'
print(html.text)

 

你获取的是该网页的script标签,截取的整个网页的前2000个字符