python学习

在scrapy中使用洋葱头,

1、我以为可以直接用代理的模式,结果不行,Tor是将本地的代理进行包装,这种方法是不对的 2、没办法,我以为打开了新世界的大门,结果打脸了,只有百度了, https://www.cnblogs.com/kylinlin/archive/2016/03/04/5242266.html 这个大佬写的,按照他的来吧, 下载安装了之后,直接运行时不可以的,要设置一下环境变量,设置好了之后局可以运行了, 又犯错了,要在这个安装的文件夹下,进入cmd命令才可以。。 虽然我不明白作者为啥在微软的浏览器中设置代理,我还是下载了edge浏览器,设置代理 这个是edge浏览器的下载地址,找了好一会才找到win7版本的,这个浏览器内核是Chrome,完全知道我平时浏览的网站,看着不错,嘿嘿 https://www.microsoftedgeinsider.com/zh-cn/download/ 言归正传,开始设置吧,,应该是版本不一样,, 我用https://check.torproject.org/ 验证没通过,, 我点击support Tor ,显示今天支持,这个是全世界的电脑连接,表示支持,你换我的IP,我换别人的, 4、下一步开始配置scrapy的文件了,,setting里面,,127.0.0.1就代表的是localhost 5、不是吧,折腾了半天,还是不行。。 6、下面就是自己的showtime了,,好消息就是,实现了,将洋葱头写到, start_requests 里面 我是在spider中的添加的代码。。 第一步我将前面的端口改为了9150,是洋葱头的默认的端口 第二步:在类名前引用stem(改变ip的类),和查看包装的ip地址是什么。。 主要看红色圈里面的东西,,http://checkip.amazonaws.com 查看ip的,这个不要写到中间件里面,我已经踩过坑了,,放到中间件,ip不会改变。。 8、哦了,,任务完成,, 引用大佬的一句话 至此,scrapy与tro的整合完成了,本文不对任何人使用这个方法所造成的后果负责 点赞 2 收藏 分享 文章举报 weixin_43351935 发布了51 篇原创文章 · 获赞 12 · 访问量 1万+ 私信 关注

洋葱头TOR的安装——windows

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 ("