1、洋葱头的历史我就不说了,这个是用来爬虫,
网址:https://2019.www.torproject.org/docs/debian.html.en
2、点击下载 Windows
3、找个文件夹保存一下,
4、使用简体中文
5、
6、
7、问题来了,如果你是国内IP的话,就无法单击connect进行连接,可以单击configure,
下面是引用《Python网络爬虫从入门到实践》,我是直接点的继续,一下就安装好了。。
https://www.5xiaobo.com/?id=308 这个是另外一个大佬写的,可能更加详细一些。
8、我最后安装的结果是这样的,,
9、下一步就要操作 了,要安装一个pysocks
pip install pysocks ,我用的是anaconda,里面已经有了。
10、使用一下。多次运行,结果一样的。
#Tor 默认的端口是9150
11、我们检查一下IP的地址,都伪装成了英国的IP了,这个中间,我感觉也没用到tor呀,我本地的IP是香港的,,这个原理不是很懂。。因为这个IP是固定的,下面我们就要用到TOR了,来动态的IP地址。
12、查看tor的默认端口:到刚才的安装目录下,找到这个文件。
打开我震惊了,没有默认的端口啊,坑爹啊。。
13、回到刚才的动态IP的事吧,
安装一个stem的包,,
14、通过循环,可以看到每次出来的IP都不一样,都是国外的,,对于抓取国外的网站是福音啊。
from stem import Signal
from stem.control import Controller
import socket
import socks
import requests
import time
controller = Controller.from_port(port = 9151)
controller.authenticate()
socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 9150)
socket.socket = socks.socksocket
total_scrappy_time = 0
total_changeIP_time = 0
for x in range(0,4):
a = requests.get("http://checkip.amazonaws.com").text
print ("第", x+1, "次IP:", a)
time1 = time.time()
b = requests.get("http://www.santostang.com/").text
# print (b) #抓取文本。。
time2 = time.time()
total_scrappy_time = total_scrappy_time + time2-time1
print ("第", x+1, "次抓取花费时间:", time2-time1)
time3 = time.time()
controller.signal(Signal.NEWNYM)
time.sleep(5)
time4 = time.time()
total_changeIP_time = total_changeIP_time + time4-time3-5
print ("第", x+1, "次更换IP花费时间:", time4-time3-5)
print ("平均抓取花费时间:", total_scrappy_time/10)
print ("平均更换IP花费时间:", total_changeIP_time/10)
#代码来源于书本,,
13、今天就到这了。。。后面再研究怎么接入到scrapy就好了