前言

互联网技术的不断发展,网页数据抓取越来越不简单,往往都会遇到ip地址被封的情况,一般情况都会使用IP代理池进行伪装ip地址,但如今那些免费的IP代理池早已被各大厂商的网站运维拉黑。
但是那些数据很想要,又不想花钱,没事,Tor代理为我们完成这一事。关于Tor代理实现原理,网上自行搜索!!
本文纯属个人经验分享,随便转载,不喜勿喷,谢谢。

由于Mac、Linux使用Tor代理特别简单,使用软件安装器一装即可,因此本文使用的Windows 10 环境。

0001-Tor下载

Tor软件可以去官网下载Tor-browser,也可以下载Console界面的软件,只需配置下配置文件即可。
Console界面的可以下载源码自行DIY,编译,安装即可。也可以下载Windows Expert Bundle,里面版本是Tor 0.4.2.7
下载地址

0010-Tor 配置

想要连接到Tor服务,需要走个前置代理或者网桥,如果自己有一个science Network 的代理,直接在配置文件中添加。
如果走网桥的话,需要自己发邮件获取,地址为: bridges@torproject.org

使用Tor 0.4.2.7,需要在自己电脑用户文件夹中创建配置文件,具体路径为:{$用户文件}\AppData\Roaming\tor\torrc


CookieAuthentication 1
#Tor 程序控制端口,通过控制可变更ip
ControlPort 9051 #data 目录,解压文件目录
DataDirectory {your directory}\tor\Data\Tor
GeoIPFile {your directory}\tor\Data\Tor\geoip
GeoIPv6File {your directory}\tor\Data\Tor\geoip6#HTTP前置代理,使用http和socks都行
HTTPSProxy 127.0.0.1:8888 #网桥 可发送邮件获取,使用网桥,将其取消注释即可
#Bridge obfs4 86.12.244.17:80 9E39713B73FE0F21E71DEA359A9810004E182D6E cert=U5pg5uiUBUD4d5LWp+6I++WHf1jtEfg6/lJHOzy3crrnQHRhU0AAxqJMq2buJ9Lj623FVQ iat-mode=0
#Bridge obfs4 5.196.74.8:7778 712D2EEDEB02A07639D44C1B00C0013FBA0F2176 cert=nH47UcTTIpZfRLoYpToOJZe1dPaxHuvdlegB7ujbia+xHxiuIxiummTj6gt1O7auR1s7eA iat-mode=0
#Bridge obfs4 89.72.10.147:54554 88B74AC941A8E5084D7A777B5F7666C65EA568F2 cert=RPQyxGIRnUasPwlx3QkqAbOQny8XApwZWaG8Ci6KjOpOONvbHt/WXjiOBKMGtXQ8e6weHA iat-mode=0
#UseBridges 1

0011-Tor运行

配置完后,运行tor.exe即可,会提示连接情况,从0%一直到100%,100%即连接Tor服务成功。Tor会监听9050端口,通过该端口进行代理。

0100-Tor+Python

Tor运行成功后,可使用Socks和Http为python程序代理

SOCKS

# coding=utf-8import socket
import socks
import requestssocks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 9050)
socket.socket = socks.socksocketprint(requests.get('https://api.ipify.org/?format=json').text)

HTTP

因为有的网站socks代理不能进行访问,因此将socks转换成http

import requests
proxies = {'http': 'socks5://127.0.0.1:9050','https': 'socks5://127.0.0.1:9050'}
print(requests.get('https://api.ipify.org/?format=json', proxies=proxies).text)

Tor控制

通过9051端口可进行Tor控制变更ip

from stem import Signal
from stem.control import Controllerwith Controller.from_port(port = 9051) as controller:controller.authenticate()controller.signal(Signal.NEWNYM)

end

使用Tor代理python爬虫的原理到此ending,至于爬虫抓取代码自行研究了O(∩_∩)O哈哈~

如果有其他好的方法,欢迎给我留言。。。

Tor+python相关推荐

  1. Tor环境搭建tor链路IP限定配置

    Tor隐匿环境搭建 Author:HJY [参考链接] 官方安装tor步骤说明 官方配置说明 背景信息 tor的配置文件的路径 /etc/tor tor服务的端口为9050,若使用Tor浏览器其配置端 ...

  2. 爬虫学习笔记--Tor隐藏Ip

    因为在爬虫时,如果使用了默认的IP 可能导致自己的IP遭到封禁 所以就要隐藏自己的IP 事先说明 爬虫要有度 也要考虑服务器的压力 本篇基于win10 tor的原理 http://www.cnblog ...

  3. sqlmap mysql案例_sqlmap简单mysql注入演示附截图

    安装教程百度一下就有了. 首先下载需要的文件,如果是windows环境直接到 看大牛的视频,学习一下,附上截图....算是转载吧...只是为了分享一下.. 下边是实例: sqlmap.py -upda ...

  4. info testing mysql_SQLMASQLMAP中文说明(linux版本)

    这个东西,是mickey整理的,不多说了,尊重一下原作者,转载注明mickey整理就好了 更新 svn checkout https://svn.sqlmap.org/sqlmap/trunk/sql ...

  5. sqlmap简单中文说明

    整理:mickey 更新 svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev sqlmap.py -u "h ...

  6. python访问浏览器怎么最快_如何使用Python连接到Tor浏览器

    我正在尝试连接到Tor浏览器,但收到一条错误消息,指出" proxyConnectFailure",我尝试了多次尝试以了解Tor浏览器的基础知识以实现连接的任何想法,但是如果有什么 ...

  7. python自动打开_如何用Python自动打开和关闭Tor浏览器

    我在玩网页抓取和Tor.在 我设法让它同时使用requests和{}+PhantomJS.但是,我需要打开Tor浏览器才能使脚本工作.在 这就是为什么我现在试图自动化整个过程:也就是说:自动打开Tor ...

  8. python中tornado的第一个例子

    python中tornado的第一个例子 1  先安装tornado pip install tornado 2 新建tor.py 记住不能建立 tornado.py 这样的名字  不然会报错 Imp ...

  9. 8月精选Python开源项目Top10

    作者 | Mybridge 译者 | linstancy 编辑 | Jane 出品 | AI科技大本营 [导读]过去一个月里,我们对近 250 个 Python 开源项目进行了排名,并挑选出热度前 1 ...

最新文章

  1. 小R SLAM机器人基本命令
  2. python实现复制文件功能
  3. Visual Studio 2017的第五个更新包扩展了调试工具
  4. Jmeter吞吐量控制器详解
  5. revit2018注册表删除_Revit软件的彻底卸载方法 注册表卸载
  6. vmware虚拟机挂载Windows磁盘的两种方法
  7. 《数据算法:Hadoop_Spark大数据处理技巧》艾提拉笔记.docx 第1章二次排序:简介 19 第2章二次排序:详细示例 42 第3章 Top 10 列表 54 第4章左外连接 96 第5
  8. Win7连接共享打印机时,报 0x00000bcb 错误
  9. 6U VPX数据存储板学习资料保存:基于6U VPX 的mSATA高性能数据存储板
  10. 扫雷小游戏 3.0 版本
  11. 电脑没有声音提示“外设似乎没有插上”怎么办
  12. prng伪随机数生成器_Java伪随机数生成器(PRNG)中的弱点
  13. Python爬虫之实习生面试问题(一) 爬虫实习生 爬虫面试问题
  14. 观呼吸缓解夏日烦躁情绪
  15. Android wifi信号强弱检测
  16. [学习笔记] 《精准营销:社会化媒体时代企业传播实战指南》
  17. ​贝叶斯神经网络最新综述
  18. 如何在 Pandas DataFrame 中插入一行
  19. 多个word vba批量替换文字(一个文件夹)
  20. 云计算——详细思维导图

热门文章

  1. 一日一技:别怕,我们的聊天消息,没人能偷看
  2. 分享聚能聊向代码致敬,寻找你的第83行话题评论截图,得礼品咯!
  3. 移动端-浏览器设置全屏方法
  4. // js浏览器兼容问题
  5. Linux命令学习(每日一练)
  6. 全国青少年信息素养大赛图形化编程初赛·模拟三卷,含答案解析
  7. 苹果手机来电防火墙_涨知识了!原来苹果手机的月亮图标大有用处,却被果粉们忽略了...
  8. 各种金融类的自定义 View,基金走势图、分时图、蜡烛图、各种指标等,一步一步构建庞大的基金自定 View...
  9. MySQL存储过程专题
  10. 我的Android进阶之旅------MIME类型大全