这学期有一门课叫《物联网与云计算》,于是我就做了一个大作业,实现的是对代理IP的爬取,计算推荐,发放给用户等任务的的自动化系统。由于代码比较多,有兴趣的可以到博主的GitHub上下载。

源码https://github.com/guoruibiao/IoC


下面简单的列些贴图,聊表心意,有兴趣的不妨看看咯。

IoC

:heart: 物联网与云计算大作业,爬取代理IP并存储到数据库,再借助推荐算法,结合PHP实现系统性的代理IP发放系统。

Python端

  • Python作为爬虫端来爬取代理IP的完善的数据;
  • 再基于推荐算法(我自己瞎闹的,参考了ItemCF的思想)为用户计算出比较合适的IP段
  • 定时为user表中的用户发送包含代理IP详细信息的邮件来通知用户。

MySQL端

数据库这里比较简单,也就几张实体表以及关系表。用来记录代理IP以及用户与分配等关系。

PHP端

PHP被誉为是“网站开发方向的最好的语言”,确实是有一定的道理的,在Web开发方面尤其独特的优势,这里采用PHP实现了用户登录以及注册的功能。

配合前端框架Bootstrap搭建了一个响应式的网站雏形,比较精简。来完成与用户的交互,以及简单的业务。

怎么使用?

  • 数据端

    也就是Python端。app->storage.py即为项目入口,对于config文件夹下的数据库配置文件,以及IP代理提取网址等做好配置后就可以了。

storage.py会自动的调用spider.py和util.py来完成具体的爬取和存储任务。很方便,当然也可以自己改动一下,完善它:heart:

  • PHP端

这个就比较的简单了,按照PHP的工作原理进行整个文件夹的拷贝,粘贴即可工作。当然了,这里还是需要稍微的改动一点点的,做过开发的都知道了。那就是表单

action的那一小部分,比较简单,就不在过多叙述了。

  • 数据库

一定要按照要求创建数据库以及表结构。我把文件放到了app/temp/ioc.sql路径下。有需要的不妨参考一下。

代理IP爬取,计算,发放自动化系统的更多相关文章

  1. requests 使用免费的代理ip爬取网站

    import requests import queue import threading from lxml import etree #要爬取的URL url = "http://xxx ...

  2. 代理IP爬取和验证(快代理&西刺代理)

    前言 仅仅伪装网页agent是不够的,你还需要一点新东西 今天主要讲解两个比较知名的国内免费IP代理网站:西刺代理&快代理,我们主要的目标是爬取其免费的高匿代理,这些IP有两大特点:免费,不稳 ...

  3. 蚂蚁代理免费代理ip爬取(端口图片显示+token检查)

    分析 蚂蚁代理的列表页大致是这样的: 端口字段使用了图片显示,并且在图片上还有各种干扰线,保存一个图片到本地用画图打开观察一下: 仔细观察蓝色的线其实是在黑色的数字下面的,其它的干扰线也是,所以这幅图 ...

  4. 酷伯伯实时免费HTTP代理ip爬取(端口图片显示+document.write)

    分析 打开页面http://www.coobobo.com/free-http-proxy/,端口数字一看就不对劲,老规律ctrl+shift+c选一下: 这就很悲剧了,端口数字都是用图片显示的: 不 ...

  5. 无忧代理免费ip爬取(端口js加密)

    起因 为了训练爬虫技能(其实主要还是js技能-),翻了可能有反爬的网站挨个摧残,现在轮到这个网站了:http://www.data5u.com/free/index.shtml 解密过程 打开网站,在 ...

  6. 全网代理公开ip爬取(隐藏元素混淆+端口加密)

    简述 本次要爬取的网站是全网代理,貌似还是代理ip类网站中比较有名的几个之一,其官网地址: http://www.goubanjia.com/. 对于这个网站的爬取是属于比较悲剧的,因为很久之前就写好 ...

  7. 5 使用ip代理池爬取糗事百科

    从09年读本科开始学计算机以来,一直在迷茫中度过,很想学些东西,做些事情,却往往陷进一些技术细节而蹉跎时光.直到最近几个月,才明白程序员的意义并不是要搞清楚所有代码细节,而是要有更宏高的方向,要有更专 ...

  8. 极简代理IP爬取代码——Python爬取免费代理IP

    这两日又捡起了许久不碰的爬虫知识,原因是亲友在朋友圈拉人投票,点进去一看发现不用登陆或注册,觉得并不复杂,就一时技痒搞一搞,看看自己的知识都忘到啥样了. 分析一看,其实就是个post请求,需要的信息都 ...

  9. 带参数,头信息,代理,cookie爬取

    1.get传参 (1)汉字报错 :解释器器ascii没有汉字 url汉字转码 urllib.parse.quote safe="string.printtable" (2)字典传参 ...

随机推荐

  1. laravel 5.5 接入蚂蚁金服官方SDK(支付宝APP支付为例)开发步骤

    一.创建应用及配置 首先需要到蚂蚁金服开放平台(open.alipay.com)注册应用,获取应用id(APP_ID),并且配置应用,主要是签约应用,这个需要审核,一般2-5个工作日,审核通过后,去生 ...

  2. 031718-js变量、数据类型、运算符

    1.关键字.标识符.变量(是一个名称,最好用字母开头,对大小写敏感).常量 (是有数据类型的一个值) 变量: ①定义并赋值 ②使用   2.数据类型:数字  字符串  布尔  null  undefi ...

  3. 一起做orb-slam(2)

    1.ushort用法? USHORT is a macro which is not part of the official C++ language (it's probably defined ...

  4. Linux提示字符设置

    当我们登陆linux后,显示的提示字符究竟是什么意思呢?又可不可以设置呢. 首先来看看默认的显示: 普通用户: [fuwh@localhost ~]$ root用户: [root@localhost ...

  5. [HNOI 2010]Bus 公交线路

    Description 题库链接 有 \(N\) 个车站, \(K\) 条公交线路.第 \(1\) 到 \(K\) 站是这 \(K\) 线路的起点站.第 \(N-K+1\) 到 \(N\) 是终点站. ...

  6. [JSOI 2008]最大数

    Description 题库链接 给你一个序列,初始为空.资瓷下列操作: 在序列末尾加上一个数: 查询后 \(L\) 个数中的最大值. 操作总数为 \(m\) , \(1\leq m\leq 2000 ...

  7. [HNOI2016]大数

    题目描述 小 B 有一个很大的数 S,长度达到了 N 位:这个数可以看成是一个串,它可能有前导 0,例如00009312345.小B还有一个素数P.现在,小 B 提出了 M 个询问,每个询问求 S 的 ...

  8. 有源汇上下界可行流(POJ2396)

    题意:给出一个n*m的矩阵的每行和及每列和,还有一些格子的限制,求一组合法方案. 源点向行,汇点向列,连一条上下界均为和的边. 对于某格的限制,从它所在行向所在列连其上下界的边. 求有源汇上下界可行流 ...

  9. java开发小技巧

    链接地址:http://www.cnblogs.com/zkh101/p/8083368.html 人脸识别地址:http://blog.csdn.net/gitchat/article/detail ...

  10. Spring学习笔记3——使用注解的方式完成注入对象中的效果

    第一步:修改applicationContext.xml 添加<context:annotation-config/>表示告诉Spring要用注解的方式进行配置 <?xml vers ...