UA伪装+灵活采集

#UA:User-Agent(请求载体的身份标识)
#UA检测:门户网站的服务器会检测对应请求的载体身份标识,如果检测到请求的载体身份标识为某一款浏览器,
#说明该请求是一个正常的请求。但是,如果检测到请求的载体身份标识不是基于某一款浏览器的,则表示该请求
#为不正常的请求(爬虫),则服务器端就很有可能拒绝该次请求。

#UA伪装:让爬虫对应的请求载体身份标识伪装成某一款浏览器
#(就是在pycharm运行,伪装成headers所指的浏览器版本,伪装成浏览器进行请求)

import requests
if __name__=='__main__':
    #UA伪装(使用字典进行封装)
    #谷歌浏览器-检查-network-随便一个文件-header-Request Headers
    headers ={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
    }

    #之前的四部框架
    #1,指定url
    url = 'https://www.sogou.com/web?query=%E6%89%A7%E9%AD%94'  #本来是搜'执魔',复制粘贴后是乱码
    url_1 = 'https://www.sogou.com/web?query=执魔'                #换成'执魔',也是可行的
    url_2 = 'https://www.sogou.com/web'                         #'灵活采集',将query去掉,后期再根据需求添加

    #'灵活采集'关键,param'参数',input参数,即可以达到想'灵活'
    kw = input('输入想爬取的词条:') #kw来顶替url中的query,进行搜索
    param ={
        'query':kw
    }

    #2,发起请求
    response = requests.get(url = url_2,params = param,headers=headers) #param是顶替需要换取的参数,heaters是UA伪装

    #3,获取响应数据
    res_text = response.text
    print(res_text)

    #4,进行数据存储
    #因为灵活,所以文件名字也需要灵活一些
    filename = kw+'.html'
    with open(filename,'w',encoding='utf-8') as f:
        f.write(res_text)
    print('爬取完成!')