美文网首页
tor + PySocks 实现切换 IP

tor + PySocks 实现切换 IP

作者: lesliefang | 来源:发表于2017-07-14 13:47 被阅读852次

    爬虫爬取 IP 经常被封,所以一般都要使用 IP 代理池。tor 主要是用于匿名访问网络的,但也可以用于切换 IP。

    brew install tor

    pip install PySocks

    命令行启动 tor , tor 默认端口号 9050

    tor 会启动 socks 代理服务

    SOCKS代理和HTTP代理有什么不同?在 OSI 七层模型中,SOCKS工作在会话层上,而HTTP工作在应用层上,SOCKS代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求),所以SOCKS代理服务器比应用层代理服务器要快得多。

    import socks
    import requests
    import socket
    
    # 所有的请求都走 tor
    socks.set_default_proxy(proxy_type=socks.SOCKS5, addr="127.0.0.1", port=9050)
    socket.socket = socks.socksocket
    
    resp = requests.get('http://api.ipify.org/').text
    print(resp)
    

    tor 默认每隔 10 分钟左右更换一次 IP 地址,也可以强制更换。
    用代理进行爬取速度比较慢,tor 配置简单,个人爬取小站点用用还行,不适用于专业级爬虫。

    相关文章

      网友评论

          本文标题:tor + PySocks 实现切换 IP

          本文链接:https://www.haomeiwen.com/subject/mgwnhxtx.html