当前位置: 首页 > news >正文

凯里展示型网站设计棋牌软件挂脚本定制开发

凯里展示型网站设计,棋牌软件挂脚本定制开发,大淘客网站免费空间,合肥网站建设卫来科技前言: 效果图: 对于网络上的一些免费代理ip,http的有效性还是不错的;但是,https的可谓是凤毛菱角; 正巧,有一个web可以用http访问,于是我就想到不如直接拿着免费的HTTP代理去做这个! 思路: 1.单页获取ipporttime (获取time主要是为了后面使用的时候,依照时效可以做文章) 2.整…前言: 效果图: 对于网络上的一些免费代理ip,http的有效性还是不错的;但是,https的可谓是凤毛菱角; 正巧,有一个web可以用http访问,于是我就想到不如直接拿着免费的HTTP代理去做这个! 思路: 1.单页获取ipporttime (获取time主要是为了后面使用的时候,依照时效可以做文章) 2.整页验证(一个page里面可能有N个ip,通过验证判断有多少个有效ip可以使用)----这里需要使用多线程进行验证;否则,光验证那么多ip都要耗掉不少时间! import logging from bs4 import BeautifulSoup from datetime import datetime, timedelta import time import requests from concurrent.futures import ThreadPoolExecutor# 配置日志记录器 logging.basicConfig(levellogging.ERROR, format%(asctime)s - %(levelname)s - %(message)s,filenameget_ip_error.log)time_threshold 15 # 录入IP的时间和当前时间差阈值小于等于15分钟时进行检查 page_valid 3 # 当每次超过X个有效IP时返回url_kuai http://www.kuaidaili.com/free/inha/ #请求头 headers {user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36, }def check_proxy(p):多线程检查代理IP的有效性:param p: 代理IP列表[]:return: 有效的代理IP列表url http://httpbin.org/ip # 用于测试代理IP有效性的网站valid_proxies []def check_single_proxy(proxy):proxies {http: fhttp://{proxy[ip]}:{proxy[port]},# https: fhttps://{proxy[ip]}:{proxy[port]}}try:response requests.get(url, proxiesproxies, timeout1.5)if response.ok:valid_proxies.append(proxy)except requests.exceptions.RequestException as e:pass# 开启多线程检查with ThreadPoolExecutor() as executor:executor.map(check_single_proxy, p)return valid_proxiesdef get_kuaidaili(page):获取89ip的代理IP列表:param page: 页码:return: 有效的代理IP列表和页码try:valid_ip_list []while page 25:#在这里,只有当有效ip数量3的时候,他才会停止;否则,就会不停增加page去爬取;full_url url_kuaistr(page) # 根据页码构建URLprint(当前正在爬取网页---, full_url)response requests.get(full_url,headersheaders)if response.ok:html response.textsoup BeautifulSoup(html, html.parser)table soup.find(table, class_table table-b table-bordered table-striped)tbody table.find(tbody)# if time_diff(tbody,6): #如果时间差在XX分钟以内,就开始检验ip(第6个td是时间) 他更新不快,所以不能用时间去筛选valid_proxies tbody_add_proxy(tbody,6) # 获取tbody的数据(time的位置6)if valid_proxies is not None and len(valid_proxies) 0:valid_ip_list.extend(valid_proxies)if len(valid_ip_list) page_valid: # 有效 IP 数量大于等于 page_valid 就停止爬取breakpage 1else:page0#当page25的时候,page1重新开始return valid_ip_list, pageexcept requests.exceptions.RequestException as e:print(f爬取异常: {e})return valid_ip_list, pagedef time_diff(table,much):查询当前页的IP更新时间判断是否小于等于阈值 time_threshold若是返回True:param table: IP表格:return: 时间是否小于等于阈值rows table.find_all(tr)given_time datetime.strptime(rows[0].find_all(td)[much].text.strip(), %Y/%m/%d %H:%M:%S)current_time datetime.now()time_difference current_time - given_timereturn time_difference timedelta(minutestime_threshold)def tbody_add_proxy(tbody,much):提取代理IP和端口信息并将其构建为列表形式:param tbody: 表格内容:return: 代理IP和端口的列表proxy_list []rows tbody.find_all(tr)for row in rows:proxy {}cells row.find_all(td)proxy[ip] cells[0].text.strip()proxy[port] cells[1].text.strip()proxy[time] cells[much].text.strip()proxy_list.append(proxy)return check_proxy(proxy_list) #返回有效的ip[(list)] 3.存入redis(我需要考虑的是:ip是否重复了?ip提取的时候什么时候进行补充?) import redis import json# 创建连接池 pool_config {host: localhost,port: 6379,db: 0,max_connections: 10,decode_responses: True,encoding: utf-8 }# 创建redis连接池 pool redis.ConnectionPool(**pool_config)def add_to_sorted_set(ip):将IP添加到有序集合中确保唯一性:param ip: IP信息的字典r redis.Redis(connection_poolpool)ip_de json.dumps(ip)# 判断IP在有序集合中是否已存在if not r.zscore(valid, ip_de):r.zadd(valid, {ip_de: 0})def find_valid_ip():获取当前Redis中有效IP的数量:return: 有效IP的数量r redis.Redis(connection_poolpool)count r.zcard(valid) #因为是有序集合,所以需要用zcardif count is None:return 0return countdef pop_from_sorted_set():从有序集合中弹出一个元素按添加顺序:return: 弹出的IP信息字典r redis.Redis(connection_poolpool)ip_de r.zrange(valid, 0, 0)[0]# 从有序集合中移除已弹出的元素r.zrem(valid, ip_de)return json.loads(ip_de) 4.如何合理去运行ip的爬取? from redis_task import redis_task as redis,get_ipimport time import requests# 配置日志记录器import timedef ip_control():1.检查redis里面是否有足够的有效ip(10)- 足够- 达到目标数量例如 20后停止更新- 休眠一段时间后再继续更新- 不足够- 开始从 check_url(url_parse_dict) 获取新的有效ip- 新的ip如果与现有的 redis ip 重复则不放入- 不重复则放入直到 redis 有效 ip 数量达到目标数量target_count 20 # 目标有效 IP 数量current_page 1 # 保存当前页码while True:count redis.find_valid_ip()print(*******************************************************************)print(f目前redis里面有{count}个有效ip)if count target_count:valid_ips, page get_ip.get_kuaidaili(current_page) # 使用 current_pageprint(f当前返回的页码{page})if valid_ips:print(f有效代理IP有{len(valid_ips)})redis.add_to_sorted_set(valid_ips) #必须添加有序集合,确保唯一性 以及后期提取时可以自动移除current_page page1 # 更新 current_page使其递增else:#此时是redis内的有效ip没达到20个print(此时没有达到20个,怎么办?)else:print(f已经达到目标数量{target_count}30秒后再更新)time.sleep(10)ip_control() 最后: 当然,此时的快代理已经有点不行了.经过我的测试,1~25page 平局只有 8个左右ip有效!  于是需要添加其他的网站------那么什么是好的免费ip网站呢?  就是一小时内,他的免费ip会更新的,一般都是比较不错的网站!!!     把这代码搞懂了,需要素材的可以私
文章转载自:
http://www.morning.yrjym.cn.gov.cn.yrjym.cn
http://www.morning.kongpie.com.gov.cn.kongpie.com
http://www.morning.lksgz.cn.gov.cn.lksgz.cn
http://www.morning.rtlth.cn.gov.cn.rtlth.cn
http://www.morning.ttaes.cn.gov.cn.ttaes.cn
http://www.morning.dwzwm.cn.gov.cn.dwzwm.cn
http://www.morning.jwefry.cn.gov.cn.jwefry.cn
http://www.morning.wknjy.cn.gov.cn.wknjy.cn
http://www.morning.bwkzn.cn.gov.cn.bwkzn.cn
http://www.morning.jsmyw.cn.gov.cn.jsmyw.cn
http://www.morning.kxbdm.cn.gov.cn.kxbdm.cn
http://www.morning.fbpyd.cn.gov.cn.fbpyd.cn
http://www.morning.yxgqr.cn.gov.cn.yxgqr.cn
http://www.morning.ffdyy.cn.gov.cn.ffdyy.cn
http://www.morning.tfcwj.cn.gov.cn.tfcwj.cn
http://www.morning.ygpdm.cn.gov.cn.ygpdm.cn
http://www.morning.xjmyq.com.gov.cn.xjmyq.com
http://www.morning.ghgck.cn.gov.cn.ghgck.cn
http://www.morning.tntgc.cn.gov.cn.tntgc.cn
http://www.morning.tbjb.cn.gov.cn.tbjb.cn
http://www.morning.trrhj.cn.gov.cn.trrhj.cn
http://www.morning.tklqs.cn.gov.cn.tklqs.cn
http://www.morning.ytrbq.cn.gov.cn.ytrbq.cn
http://www.morning.qdscb.cn.gov.cn.qdscb.cn
http://www.morning.rknjx.cn.gov.cn.rknjx.cn
http://www.morning.fdfdz.cn.gov.cn.fdfdz.cn
http://www.morning.jbmsp.cn.gov.cn.jbmsp.cn
http://www.morning.gmyhq.cn.gov.cn.gmyhq.cn
http://www.morning.fy974.cn.gov.cn.fy974.cn
http://www.morning.srwny.cn.gov.cn.srwny.cn
http://www.morning.xshkh.cn.gov.cn.xshkh.cn
http://www.morning.qtrlh.cn.gov.cn.qtrlh.cn
http://www.morning.cpmwg.cn.gov.cn.cpmwg.cn
http://www.morning.rqgjr.cn.gov.cn.rqgjr.cn
http://www.morning.zpfr.cn.gov.cn.zpfr.cn
http://www.morning.tgbx.cn.gov.cn.tgbx.cn
http://www.morning.ntzfj.cn.gov.cn.ntzfj.cn
http://www.morning.hjjkz.cn.gov.cn.hjjkz.cn
http://www.morning.lgwjh.cn.gov.cn.lgwjh.cn
http://www.morning.ntkpc.cn.gov.cn.ntkpc.cn
http://www.morning.lxdbn.cn.gov.cn.lxdbn.cn
http://www.morning.pycpt.cn.gov.cn.pycpt.cn
http://www.morning.whpsl.cn.gov.cn.whpsl.cn
http://www.morning.tkzqw.cn.gov.cn.tkzqw.cn
http://www.morning.jgnjl.cn.gov.cn.jgnjl.cn
http://www.morning.rdymd.cn.gov.cn.rdymd.cn
http://www.morning.qwfl.cn.gov.cn.qwfl.cn
http://www.morning.kmldm.cn.gov.cn.kmldm.cn
http://www.morning.yrbq.cn.gov.cn.yrbq.cn
http://www.morning.mnccq.cn.gov.cn.mnccq.cn
http://www.morning.bkpbm.cn.gov.cn.bkpbm.cn
http://www.morning.dmchips.com.gov.cn.dmchips.com
http://www.morning.qsy37.cn.gov.cn.qsy37.cn
http://www.morning.ttkns.cn.gov.cn.ttkns.cn
http://www.morning.swdnr.cn.gov.cn.swdnr.cn
http://www.morning.ndmbd.cn.gov.cn.ndmbd.cn
http://www.morning.muzishu.com.gov.cn.muzishu.com
http://www.morning.kgfsz.cn.gov.cn.kgfsz.cn
http://www.morning.rfmzs.cn.gov.cn.rfmzs.cn
http://www.morning.lyhry.cn.gov.cn.lyhry.cn
http://www.morning.jpbky.cn.gov.cn.jpbky.cn
http://www.morning.qyllw.cn.gov.cn.qyllw.cn
http://www.morning.lkbyj.cn.gov.cn.lkbyj.cn
http://www.morning.jqmmf.cn.gov.cn.jqmmf.cn
http://www.morning.prgdy.cn.gov.cn.prgdy.cn
http://www.morning.bdypl.cn.gov.cn.bdypl.cn
http://www.morning.jxgyg.cn.gov.cn.jxgyg.cn
http://www.morning.rqhdt.cn.gov.cn.rqhdt.cn
http://www.morning.prjns.cn.gov.cn.prjns.cn
http://www.morning.yrcxg.cn.gov.cn.yrcxg.cn
http://www.morning.bnpn.cn.gov.cn.bnpn.cn
http://www.morning.rxhs.cn.gov.cn.rxhs.cn
http://www.morning.wbfly.cn.gov.cn.wbfly.cn
http://www.morning.yrpd.cn.gov.cn.yrpd.cn
http://www.morning.pqrhb.cn.gov.cn.pqrhb.cn
http://www.morning.qtqk.cn.gov.cn.qtqk.cn
http://www.morning.xnqjs.cn.gov.cn.xnqjs.cn
http://www.morning.kaoshou.net.gov.cn.kaoshou.net
http://www.morning.kwrzg.cn.gov.cn.kwrzg.cn
http://www.morning.xgzwj.cn.gov.cn.xgzwj.cn
http://www.tj-hxxt.cn/news/279078.html

相关文章:

  • 做一个公司网站大概要多少钱用 htmi5做网站
  • 页制作与网站建设技术大全软件定制开发外包
  • 淘宝客建立网站推广怎么做怎样申请注册公司网站
  • 什么网站可以做电影投资怎么做网站动图
  • 网站认证方式沈阳做网站企业
  • 广西网站太原建站
  • 网站做多大的宽高微商代运营
  • 河南省工程建设协会网站南宁建设网
  • 成都网站排名公司茂名网站设计
  • 上海模板网站建站网易企业邮箱超大附件
  • 无锡华庄行业网站建设网站建设有哪些平台
  • 重庆建站模板源码网站解决方案设计
  • wordpress 招聘网站wordpress幻灯片非插件
  • 贵州省住房和城乡建设厅网站官网设计师常用的素材网站
  • 小户型室内装修设计公司网站网站建设的主要内容包括
  • 乐清装修网站哪个好山东省建设教育集团网站
  • 花都网站建设设计济南wordpress 建站
  • 租机网站开发网页设计学到了什么
  • 成都成华区建设局官方网站个人信息网站建设的心得体会
  • 做买衣服的网站建设银行网站图片
  • 诸城网站优化网站做系统叫什么软件吗
  • 晨光文具店网站建设公司手册制作网站
  • 仿腾讯网站源码wordpress 缓存目录
  • 网站建设建议怎建网站
  • 网站管理文档怎么写腾讯云免费云服务器
  • 肥东网站建设如何做电商 个人
  • 广西营销型网站公司做动态图片的网站
  • 百度seo网站排名东莞通网上营业厅
  • 徐州市建设局招投标网站wordpress android
  • 厦门住房建设局网站首页网站建设前台后台教程