热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

请求十个ip地址

importreimportlxml.htmlimportrequestsfromfake_useragentimportUserAgentencodercharsABCDE

import reimport lxml.html
import requests
from fake_useragent import UserAgentencoderchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="#用python重写生成session的算法
def f1(a):i, len_str
&#61; 0,0c, c2, c3 &#61; 0,0,0len_str &#61; len(a)i &#61; 0b &#61; ""while i < len_str:c &#61; ord(a[i]) & 0xffi &#43;&#61; 1if i &#61;&#61; len_str:b &#43;&#61; encoderchars[c >> 2]b &#43;&#61; encoderchars[(c & 0x3) <<4]b &#43;&#61; "&#61;&#61;"breakc2 &#61; ord(a[i])i &#43;&#61; 1if i &#61;&#61; len_str:b &#43;&#61; encoderchars[c >> 2]b &#43;&#61; encoderchars[(((c & 0x3) <<4) | ((c2 & 0xf0) >> 4))]b &#43;&#61; encoderchars[((c2 & 0xf) <<2)]b &#43;&#61; "&#61;"breakc3 &#61; ord(a[i])b &#43;&#61; encoderchars[c >> 2]b &#43;&#61; encoderchars[(((c & 0x3) <<4) | ((c2 & 0xf0) >> 4))]b &#43;&#61; encoderchars[(((c2 & 0xf) <<2) | ((c3 & 0xc0) >> 6))]b &#43;&#61; encoderchars[c3 & 0x3f]i &#43;&#61; 1return bs &#61; requests.session()
result
&#61; s.get(&#39;http://datamining.comratings.com/exam&#39;)
session_id
&#61; result.COOKIEs.get_dict()[&#39;session&#39;]
#调用算法生成session
r_COOKIEs
&#61; &#39;session&#61;{};c1&#61;{}; c2&#61;{}; path&#61;/&#39;.format(session_id,f1(session_id[1:4]),f1(session_id))headers &#61; {"User-Agent":UserAgent().random,"COOKIE":r_COOKIEs
}ss
&#61; s.get(&#39;http://datamining.comratings.com/exam3&#39;,headers&#61;headers).textpattern &#61; re.compile(r&#39;(.*?)&#39;,re.DOTALL)
#用正则切出body内容
result
&#61; pattern.findall(ss)
result1
&#61; result[0].split(&#39;
&#39;) #根据
切出来的十一个片段sty &#61; re.compile(r&#39;&#39;,re.DOTALL)
sty1
&#61; sty.findall(ss) #style里面的内容
sty2
&#61; re.compile(r&#39;.(.*?){&#39;)
sty22
&#61; sty2.findall(sty1[0]) # style里面定义的四个属性组成的集合data &#61; [] #空数组&#xff0c;存放十个IP
data.append(result1[
0])for data_res in result1[1:]: #遍历按照换行切开的十段字符串line_array &#61; data_res.split(&#39;\n&#39;) #每一行组成的数组ip_data &#61; [] # 组成IP的四个数字存放的数组ip_str &#61; &#39;&#39;for line_str in line_array: #遍历每一行ip_regex &#61; re.compile(r&#39;\d&#43;&#39;)if sty22[0] not in line_str and sty22[1] not in line_str and &#39;none&#39; not in line_str:#利用正则切出符合条件的数字ip_array &#61; ip_regex.findall(line_str)if ip_array !&#61; []:ip_data.append(ip_array[0])#把筛选出来的的四个数字组合成IPip_str &#61; ip_data[0] &#43; &#39;.&#39; &#43; ip_data[1] &#43; &#39;.&#39; &#43; ip_data[2] &#43; &#39;.&#39; &#43; ip_data[3]#把每一个IP存到数组里data.append(ip_str)for i in data:print(i)

 

转:https://www.cnblogs.com/wdz1226/p/10434290.html



推荐阅读
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • 利用 Python Socket 实现 ICMP 协议下的网络通信
    在计算机网络课程的2.1实验中,学生需要通过Python Socket编程实现一种基于ICMP协议的网络通信功能。与操作系统自带的Ping命令类似,该实验要求学生开发一个简化的、非标准的ICMP通信程序,以加深对ICMP协议及其在网络通信中的应用的理解。通过这一实验,学生将掌握如何使用Python Socket库来构建和解析ICMP数据包,并实现基本的网络探测功能。 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 本指南介绍了 `requests` 库的基本使用方法,详细解释了其七个主要函数。其中,`requests.request()` 是构建请求的基础方法,支持其他高级功能的实现。此外,我们还重点介绍了如何使用 `requests.get()` 方法来获取 HTML 网页内容,这是进行网页数据抓取和解析的重要步骤。通过这些基础方法,读者可以轻松上手并掌握网页数据抓取的核心技巧。 ... [详细]
  • 每年,意甲、德甲、英超和西甲等各大足球联赛的赛程表都是球迷们关注的焦点。本文通过 Python 编程实现了一种生成赛程表的方法,该方法基于蛇形环算法。具体而言,将所有球队排列成两列的环形结构,左侧球队对阵右侧球队,首支队伍固定不动,其余队伍按顺时针方向循环移动,从而确保每场比赛不重复。此算法不仅高效,而且易于实现,为赛程安排提供了可靠的解决方案。 ... [详细]
  • HTML 页面中调用 JavaScript 函数生成随机数值并自动展示
    在HTML页面中,通过调用JavaScript函数生成随机数值,并将其自动展示在页面上。具体实现包括构建HTML页面结构,定义JavaScript函数以生成随机数,以及在页面加载时自动调用该函数并将结果呈现给用户。 ... [详细]
  • Webdriver中元素定位的多种技术与策略
    在Webdriver中,元素定位是自动化测试的关键环节。本文详细介绍了8种常用的元素定位技术与策略,包括ID、名称、标签名、类名、链接文本、部分链接文本、XPath和CSS选择器。每种方法都有其独特的优势和适用场景,通过合理选择和组合使用,可以显著提高测试脚本的稳定性和效率。此外,文章还探讨了在复杂页面结构中如何灵活运用这些定位技术,以应对各种挑战。 ... [详细]
  • 使用Python代码高效生成大规模随机数据集(千万级) ... [详细]
  • 该大学网站采用PHP和MySQL技术,在校内可免费访问某些外部收费资料数据库。为了方便学生校外访问,建议通过学校账号登录实现免费访问。具体方案可包括利用学校服务器作为代理,结合身份验证机制,确保合法用户在校外也能享受免费资源。 ... [详细]
  • Python多线程编程技巧与实战应用详解 ... [详细]
  • 在List和Set集合中存储Object类型的数据元素 ... [详细]
  • 本文汇集了我在网络上搜集以及在实际面试中遇到的前端开发面试题目,并附有详细解答。无论是初学者还是有一定经验的开发者,都应深入理解这些问题背后的原理,通过系统学习和透彻研究,逐步形成自己的知识体系和技术框架。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • MATLAB字典学习工具箱SPAMS:稀疏与字典学习的详细介绍、配置及应用实例
    SPAMS(Sparse Modeling Software)是一个强大的开源优化工具箱,专为解决多种稀疏估计问题而设计。该工具箱基于MATLAB,提供了丰富的算法和函数,适用于字典学习、信号处理和机器学习等领域。本文将详细介绍SPAMS的配置方法、核心功能及其在实际应用中的典型案例,帮助用户更好地理解和使用这一工具箱。 ... [详细]
  • 在 CentOS 7 系统中安装 Scrapy 时遇到了一些挑战。尽管 Scrapy 在 Ubuntu 上安装简便,但在 CentOS 7 上需要额外的配置和步骤。本文总结了常见问题及其解决方案,帮助用户顺利安装并使用 Scrapy 进行网络爬虫开发。 ... [详细]
author-avatar
oDavid_仔o_880
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有