爬虫(四)-爬虫伪装模拟浏览器向浏览器要数据,requests.get()里的参数之params,headers

爬取周杰伦评论

寻找XHR方法
爬虫(四)-爬虫伪装模拟浏览器向浏览器要数据,requests.get()里的参数之params,headers_第1张图片

requests.get()里的参数之params,可以让我们用字典的形式,把参数传进去

Query String Parametres,它的中文翻译是:查询字符串参数,将其封装成字典,注意复制过来后要加上引号和逗号。

requests.get()里的参数之headers,可以伪装成浏览器。

每一个请求,都会有一个Requests Headers,我们把它称作请求头

user-agent(中文:用户代理)会记录你电脑的信息和浏览器版本
如果我们想告知服务器,我们不是爬虫是一个正常的浏览器,就要去修改user-agent。倘若不修改,那么这里的默认值就会是Python,会被浏览器认出来。

origin(中文:源头)和referer(中文:引用来源)则记录了这个请求,最初的起源是来自哪个页面。它们的区别是referer会比origin携带的信息更多些。

import requests
url='https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg?'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}
for i in range(10):
    params={
        'g_tk': '5381',
        'loginUin':'0',
        'hostUin':'0',
        'format': 'json',
        'inCharset':'utf8',
        'outCharset': 'GB2312',
        'notice': '0',
        'platform': 'yqq.json',
        'needNewCode': '0',
        'cid': '205360772',
        'reqtype': '2',
        'biztype': '1',
        'topid': '97773',
        'cmd': '8',
        'needmusiccrit': '0',
        'pagenum':str(i) ,
        'pagesize': '25',
        'lasthotcommentid': 'song_97773_1136621864_1565635592',
        'domain': 'qq.com',
        'ct': '24',
        'cv': '10101010'}
    res=requests.get(url,headers=headers,params=params)
    dis=res.json()
    co=dis['comment']['commentlist']
    for i in co:
        comment=i['rootcommentcontent']
        print(comment)

你可能感兴趣的:(python)