原网网页不包含想要的数据,网页数据是后面通过Ajax加载出来的。
如下面就是模仿浏览器进行请求,返回的是如下的json数据:
import requests,json
def getPage(page):
url = 'https://m.weibo.cn/api/container/getIndex?'
head = {'Accept': 'application/json, text/plain',
'Sec-Fetch-Mode': 'cors',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest'}
params = {'type': 'uid',
'value': '2830678474',
'containerid': '1076032830678474',
'page': page}
try:
r = requests.get(url, headers=head,params= params)
# 这里会自动将参数和url组成这种格式,r.url可以查看:
# https://m.weibo.cn/api/contai