• 寒假自学进度10


    不管是正常的爬虫还是恶意爬虫,不仅会导致网站信息泄露,而且还会导致服务器压力过大。想象一下,一台计算机模拟人工请求访问服务器,并且与以计算机的速度与服务器进行交互,势必会导致服务器压力过大或者瘫痪。所以,很多正规的大型网站不想让网络爬虫爬取数据,设置了反爬虫机制。最常见的就是user-agent,简单来说,就是被爬取的网站会通过访问的url中的user-agent信息,来判断这次的网站访问是浏览器访问,还是计算机程序访问,自动屏蔽计算机程序访问。

    我们可以自动设置user-agent信息,模拟浏览器访问网站,就能绕过去一部分反爬虫机制。当然,我试着用这个方法,还是不能绕过百度的搜索限制,看来还得继续学习其他的绕过反爬虫机制的方法。

    绕过百度爬虫机制的案例

    # -*- coding: utf-8 -*-
    # @Time    : 2020/2/8 10:15
    # @Author  : duoduo
    # @FileName: pc1.py
    # @Software: PyCharm
    
    import requests
    import re
    
    #爬出异常处理框架
    """"
    def GetHttp(url):
        try:
            r=requests.get(url)
            r.raise_for_status()
            r.encoding=r.apparent_encoding
            return r.text
        except:
            return "访问错误"
    """""
    #模拟浏览器(针对Amazon反爬虫机制(抱歉,我们只是想确认一下当前访问者并非自动程序))
    kv={'user-agent':'Mozilla/5.0'}
    url='https://www.amazon.cn/dp/B007J4IZNO/'
    r=requests.get(url,headers=kv)
    r.encoding=r.apparent_encoding
    print(r.status_code)
    print(r.text)
  • 相关阅读:
    SpringCloudAlibaba
    SpringCloudAlibaba
    SpringCloudAlibaba
    SpringCloudAlibaba
    SpringCloudAlibaba
    SpringCloudAlibaba
    SpringCloudAlibaba
    SpringCloudAlibaba
    如何使用webify快速构建Nuxt应用
    “我,不懂代码,36岁转行开发”
  • 原文地址:https://www.cnblogs.com/1502762920-com/p/12318892.html
Copyright © 2020-2023  润新知