关于自建ip池可能出现的问题

如题,笔者最近在寻找自建ip池的过程中遇到了一些问题,这些问题并不复杂,主要是一些细节,但是由于笔者之前没有遇到过这些情况所以花了不少时间来解决这些问题,以下先介绍自建ip池的一种方法。

自建ip池的逻辑其实很简单,可以分为四个部分:

       第一部分:获取ip

   从免费ip代理网站中,通过爬取网页源代码的方式将这些ip获取。这部分其实就是涉及到基础的网页爬虫知识。

       第二部分:存储ip

   第二部分为什么要单独罗列出来呢?因为所谓的存储ip并不是简单的把获取的ip存储下来,我们并不是要所有获取的ip,而是要把获取的ip中,效果特别好的,比较稳定的作为最终的存储(注意,这里强调的是最终的存储)。所以第二部分存储ip实际上还连接着判断ip代理性能的第三部分————检测模块。当然,存储模块本身还需具有另一些判断,例如判断ip是否具有重复情况等。一般来说,存储部分会使用到Redis这一软件。

       第三部分:检测ip效果

   这部分笔者直接引用崔庆才《python3网络爬虫开发实战》中给出的方法。即通过一种对ip进行评分的方式进行检测。方法的逻辑也很简单,使用获取的ip登录某一网站,这个网站可以是你最终想要爬取的某个网站,可以是某个不会封禁ip的网站。读者可能会有疑问,如何确保每个ip都能够被快速检测呢?这里便需要用到异步,代码中使用的是aiohttp异步的方式。(显然,大家也可以通过多线程或者多进程的方式检测)。

      第四部分:API接口

   第四部分其实就是获取已经评分后的好ip的方式。实际上,这部分有两种方法,第一种方法是通过存储ip这部分中的RedisClilent类来实现,此类中有一个random方法可以返回ip。

   这种方法会有一些问题,由于笔者目前还看不懂这些问题,所以先不写了。作者使用的方式是通过Flask(一种网页框架)启动一个Web服务,使用者只需要访问该Web网页即可。

那么,关于自建ip池的具体代码,可以直接通过一个github上的开源代码下载即可,代码网址如下

GitHub - Python3WebSpider/ProxyPool: An Efficient ProxyPool with Getter, Tester and Server

读者只需要通过该网站将代码的zip压缩文件下载下来即可。

接下来便是笔者下载并压缩该文件之后遇到的问题了……

问题一概述:笔者将下载下来的压缩文件放到了某一文件夹中,注意,我是直接放到某一文件中的,而不是把压缩的文件夹作为一个单独的文件。于是,笔者就发现了一个问题,即代码中最开始的引用部分出现了很多红线,具体如下图所示:

我在当时百思不得其解,以为是pycharm版本或者库出现了什么问题。后面搜索了一下关于     PyCharm里from...import...出现波浪线标红的情况,才知道这是Pycharm中项目工作区的问题,即当用户还没运行某一文件的时候,Pycharm会默认为将项目文件夹作为工作区,在上图中,便是我创建的名称为ip池的这一文件作为工作区。那么如何使工作区变为ProxyPool-master这一文件呢?

步骤如下:在文件选项中选中下面的设置选项

 


 

 然后选择项目结构

 然后点击添加内容根下的删除键

接下来点击添加内容根,将ProxyPool-master作为内容根文件夹即可。

 

 

这样开头的波浪线便能去除了。

问题二概述:笔者是在2022的8月9号使用的该代码,这时代码中添加了部分库,笔者在使用的时候Pycharm中提示了不满足软件包要求。即部分库的版本不符合或者没安装某库。需要安装的库实际上在文件夹中的某一txt文件中,该文件名为requirements.txt,里面罗列了需要的各个库。

当时,笔者直接通过点击提示进行库的安装,但是没有成功。所以又尝试了另一些方法,例如,按照官方的提示,通过

pip3 install -r requirements.txt进行依赖包的安装,实际上,具体代码应该写为 pip install -r绝对路径/requirements.txt,绝对路径可以通过文件属性中的文件位置找到。当然,这种方法也失败了。

如果读者尝试了以上两种方法后仍然失败,便可以通过在控制台或者终端里面直接pip install 库名一个个安装,例如对于第一个库——environs>=9.3.0,<10.0.0,读者只需要pip install environs==9.3.0即可。笔者成功安装了上述库,除了其中的一个库——meinheld>=1.0.0,<2.0.0。

结果提示出现以下错误:

明明有1.0.0的库,为什么无法安装?实际上这似乎是因为系统的问题,笔者使用的windows系统会出现一个问题,这个问题便是图片里面最上面提到的,Are you really running a posix compliant OS?Be posix compliant is mandatory.

所谓的posix实际上是一个unix操作系统的软件,(必须要在linux上才能运行),所以windows系统是没法安装这个库的,但这并不影响,因为笔者尝试运行了下程序发现是没有问题的。

问题三:笔者成功运行了run.py程序,登录了localhost:5555/random这一端口,但是在关闭了程序之后又重新打开,发现localhost:5555再也无法进去了。经过询问之后才知道,似乎是ip池第一次运行后关闭时没有完全关闭,我解决的方法是通过重启电脑,之后便没有出现这个问题了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vivado是一款由Xilinx开发的集成电路设计软件。在Vivado中,用户可以自IP(Intellectual Property,即知识产权)用于设计自己的电路。要自IP,首先需要打开IP Catalog(IP目录),可以通过单独立一个管理IP的工程,或者在Project Manager中点击IP Catalog来打开。 在Vivado中使用自IP的工具是IP Packager(IP打包工具),它可以将用户设计的电路打包、封装成IP。使用IP Packager可以将自IP导入到IP Catalog中,然后可以与Xilinx提供的IP一起使用。IP Packager的操作相对简单,难度低,可操作性很强。需要注意的是,IP Packager是Vivado独有的工具,ISE似乎没有类似的工具可以使用。 需要注意的是,Xilinx/Vivado内了许多IP,但这些IP只能在Xilinx的开发环境内调用,无法直接移植到真正的ASIC(Application-Specific Integrated Circuit)或Altera FPGA上使用。如果想要将Xilinx/Vivado内IP用于其他环境,可能需要进行一些操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [强大的Vivado IP工具——自定义IP的使用](https://blog.csdn.net/weixin_34032792/article/details/86125739)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [SOP for reusing xilinx IP](https://download.csdn.net/download/hozlin/10606363)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值