FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Notes/python-basic-notes/python-days/Day_60.md at master · We2one/Notes · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
We2one
/
Notes
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
3
Code
Issues
0
Pull requests
0
Discussions
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
Notes
/
python-basic-notes
/
python-days
/
Day_60.md
Copy path
More file actions
More file actions
Latest commit
History
History
History
41 lines (30 loc) · 2.73 KB
Breadcrumbs
Notes
/
python-basic-notes
/
python-days
/
Day_60.md
Copy path
File metadata and controls
41 lines (30 loc) · 2.73 KB
Raw
Copy raw file
Download raw file
Outline
Edit and raw actions
代理池 和 Cookie 池
代理池
准备工作
安装
Redis 数据库
并启动、安装
aiohttp (异步请求)
、
asyncio
、
Flask
等
代理池的目标
基本模块 :
存储模块
、
获取模块
、
检测模块
、
接口模块
存储模块
: 负责存储抓取下来的代理,选择 Redis 的 list (可以实现队列,队列更方便校验排序)
保证获取的代理可以按照一定的先后顺序进行排序
方便对之前爬取过的代理进行重新校验
获取模块
: 定时在各大代理网站抓取代理
代理 : 可以是免费公开代理也可以是付费代理,代理的形式 IP 加 端口
尽量从不同源获取,尽量抓取高匿代理,抓取成功后将可用代理保存到数据库
检测模块
: 测验代理是否可以使用
测试方法 : 设置一个目标网站并设置好代理,如果可以返回内容并且不超时,说明代理可用
检测模块 : 使用异步请求 (代理检测比较耗时).代理检测如果可用,就将代理添加到代理池中
添加模块
: 如果代理池数量没有达到设置的最大代理数,那么就会循环调用
获取模块
获取代理,同时调用
检测模块
来检测,并将可用的代理添加到代理池
接口模块
: 将代理池获取代理的功能架设到 Flask 上,那么只需要访问一个 url 就可以获取一个代理,使用代理十分方便
调度器模块
: 设置两个进程
进程一
: 循环检测代理的数量,如果代理池数量不足,就调用添加模块不断添加内容
进程二
: 不断循环检验代理,这里检验代理是对于代理池中的 可用代理 ,防止代理超出其时效性
两个进程都需要设置一个循环校验时间,避免频繁检验和添加
cookie 池
通过获取每个账号模拟登陆后的 cookies 信息,保存到数据库,定时监测 cookies 的时效性
准备工作
安装
Redis 数据库
,安装 requests,selenium, Flask 模块
Cookie 的目标
存储模块
: 负责存储每个账号的用户名、密码和每个账号对应的 Cookies 信息,同时提供对数据的存储操作
生成模块
: 负责获取登陆之后的 Cookie ,这个模块要从数据库中获取账号密码,在模拟登陆目标页面,如果登录成功,就获取 Cookies 保存到数据库
检测模块
: 负责定时检测数据库中的 cookies 是否有效,使用 Cookies 请求链接,如果登录状态成功,则是有效的,否则失效并删除,接下来等待生成模块重新登陆生成 Cookies
接口模块
: 通过 API 提供对外服务的接口,Cookies 越多越好,被检测到的概率越小,越安全
Back
|
FazBrowse Home
|
New Git URL