requests实现动态爬取页面

  首先,介绍一种反爬机制:UA检测(User-Agent:请求载体的身份标识):

    门户网站的服务器会检测对应请求的载体身份标识,如果到该请求的UA为某浏览器,则说明该请求是正常的请求,允许访问;反之,若检测到不是某浏览器(UA只会有两种,浏览器和爬虫),则说明该请求是不正常的,可能会拒绝访问。

  那么,就会有对应的反反爬策略:UA伪装:

    让爬虫对应的UA伪装成某一款浏览器的UA。

  如何伪装,通过headers字典,在里面设置UA值:

    # UA伪装
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
    }

  此外,由于是动态爬取,所以在url中不能设置具体的参数,那就需要处理url携带的参数,封装到字典中:

url = 'https://www.sogou.com/web'
    # 处理url携带的参数,封装到字典中
    kw = input('enter a word:')
    param = {
        'query':kw
    }

  最后可以看到,在控制台输入要搜索的关键字,即可成功爬取:

 

 

 

 

 

posted @ 2022-01-15 11:28  Sunshine_y  阅读(392)  评论(1编辑  收藏  举报