前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 爬虫之搭建代理ip池–测试代理ip可用性

python 爬虫之搭建代理ip池–测试代理ip可用性

作者头像
kirin
发布2020-05-09 15:28:01
1.7K0
发布2020-05-09 15:28:01
举报
文章被收录于专栏:Kirin博客
代码语言:javascript
复制
有一个自己的代理ip池,并且经常去维护它的话,自身的ip就没那么容易被封掉,
代码语言:javascript
复制
下面是检测代理ip是否可用的方法,
代码语言:javascript
复制
原理是从我存入数据库的ip中提取出所有的ip逐个去检测,(访问一个稳定的网站,如果返回200就视为可用)
代码语言:javascript
复制
如果可用的话就保留,如果不可用就调用delete方法,从数据库中删除掉。
代码语言:javascript
复制
这就是筛选的方式,挺简单的,那么肯定会有人问,爬取的过程和这个步骤一起做了不行吗?
代码语言:javascript
复制
emm答案是肯定行的,因为我爬取西刺代理被封过一次ip,爬取速度太快了,所以我还是分步吧。
代码语言:javascript
复制
封一次ip又要等几天。很烦。。。。。。。。。。过几天在贴出爬取检测存储一部到位的吧
代码语言:javascript
复制
下面是代码部分,写的有点乱,仅供参考
代码语言:javascript
复制
代码语言:javascript
复制
import pymssql
import requests
import time
import os
# -*- coding: gb2312 -*- #
"""
测试之前爬取存到数据库的代理ip是否可用,可行。。
接着爬呀爬。
"""
headers={
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3722.400 QQBrowser/10.5.3751.400',

}


usr=pymssql.connect('KIRIN','sa','123','student',autocommit=True)
sql=usr.cursor()
# sql.execute('''delete from ip where ip=('60.167.135.229')''')

    # 数据库删除ip方法
def delete(ip):
    xx=usr.cursor()
    xx.execute(f'''delete from ip where ip=('{ip}')''')
    print(ip,'不可用,已移除')


def getip(): # 从数据库获取ip并进行拼接处理,给下面请求测试使用
    sql.execute('select ip,port from ip')
    aa = sql.fetchall()
    ip = []
    for xx in aa:
        xxx = ':'.join(xx)

        ip.append(xxx)
    return ip


# ip请求外部方法
def put():
    a=getip()
    for x in a:
        t={'http':'{}'.format(x)} # 接收到处理过的ip 下面发送请求
        try:
            req = requests.get('http://666cc.cn/blog/', headers=headers, proxies=t, timeout=3)
            if req.status_code==200:
                print('ip可用',x)
        except Exception as e:
            print(e)
            xx=x.find(':')
            delete(x[:xx])
put()
sql.close()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-02-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档