zoukankan      html  css  js  c++  java
  • 超级实用的Python网络爬虫反反爬策略之构造UA池及IP代理池

    为了更好的进行网络爬虫,应对一些站点的反爬机制,我们通常都要使用一些反反爬策略,其中,构造UA池和IP代理池,每次抓取网页时都采用随机的UA和代理IP是非常实用的一种策略。因此,先来给大家打个样,可以少踩一些坑的。

    目标:抓取百度首页源码

    import  requests
    import random
    def main():
        #创建UA池
        headers_list = [
            {
                'User_Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0'
            },
            {'User_Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'}
        ]
        #创建IP代理池
        proxy_list=[
            {"http":"47.107.38.138:8000"},
            {
                "http":"163.125.113.224:8118"
            }
        ]
        #发请求时,随机从池中选择UA
        header=random.choice(headers_list)
        #随机选择代理IP,可以去一些代理站点寻找高匿IP
        proxy=random.choice(proxy_list)
        #抓取百度首页
        url="https://www.baidu.com/"
        page_text=requests.get(url=url,headers=header,proxies=proxy).content
        with open('./daili.html','wb')as fp:
            fp.write(page_text)
    if __name__ == '__main__':
        main()

    抓取到的源码保存在daili.html中

    通过浏览器打开就i是百度的首页了

  • 相关阅读:
    AutoResetEvent 2
    AutoResetEvent
    c++ 控制台输入参数
    C# .Net 多进程同步 通信 共享内存 内存映射文件 Memory Mapped
    filezilla管理网站服务器
    matlab
    WCF:无法满足对安全令牌的请求,因为身份验证失败。
    WCF 学习
    dev
    dotnetbar
  • 原文地址:https://www.cnblogs.com/andrew3/p/13156687.html
Copyright © 2011-2022 走看看