静音心率变异性

muted-http-request-randomizer的Python项目详细描述


Vietnamese version

实现http请求的一种方便方法是使用pythons 请求库。requests最流行的特性之一是简单 代理支持。http作为一种协议具有非常好的定义语义 处理代理,这有助于广泛部署。 http代理< /p>

当进行密集的网络爬行/报废时,代理非常有用 或者你只是想隐藏你的身份(匿名)。

在这个项目中,我使用公共代理来对HTTP请求进行随机化。 通过多个IP地址并使用各种已知的用户代理 这些请求看起来是由不同的 应用程序和操作系统。

代理< /H2>

代理提供了一种使用服务器P(中间商)联系服务器的方法 然后将响应发送回给您。在更邪恶的圈子里, 这是一个让你的存在变得不为人所知并摆出许多客户姿态的主要方法 去一个网站而不是一个客户。网站经常会屏蔽 产生太多请求和代理的IPS是一种绕过的方法。 这个。但即使是模拟攻击,你也应该知道它是怎么做的。

用户代理

令人惊讶的是,唯一能告诉服务器应用程序 触发的请求(如浏览器类型或脚本)是一个头 称为“用户代理”,它包含在http请求中。

源代码

此存储库中的项目代码正在对4进行爬网不同 公共代理网站:*http://proxyfor.eu/geo.php* http://free-proxy-list.net*http://rebro.weebly.com/proxy-list.html* http://www.samair.ru/proxy/time-01.htm

在收集代理数据并过滤最慢的数据之后 随机选择其中一个来查询目标url。请求 超时设置为30秒,如果代理未能返回 将从应用程序代理列表中删除它。我必须 请注意,对于每个请求,都使用不同的代理头。这个 不同的头存储在/data/user_agents.txt文件中 里面有大约900种不同的药物。

安装

如果希望将此模块用作CLI tool,请通过pip:

pip install http-request-randomizer

否则,您可以克隆存储库并使用设置工具:

python setup.py install

命令行界面

假设已安装http请求随机化器,则可以 使用以下命令:

显示帮助消息:

proxyList   -h, --help

指定代理提供程序(必需):

-s {proxyforeu,rebro,samair,freeproxy,all}

指定输出流(默认值:sys.stdout),也可以是文件:

-o, --outfile

以秒为单位指定提供程序超时阈值:

-t, --timeout

以kbs为单位指定代理带宽阈值:

-bw, --bandwidth

显示程序的版本号:

-v, --version

API

要使用http请求随机化器作为库,请将其包含在 requirements.txt文件。然后,您可以简单地生成代理请求。 使用方法调用:

importtimefromhttp_request_randomizer.requests.proxy.requestProxyimportRequestProxyif__name__=='__main__':start=time.time()req_proxy=RequestProxy()print("Initialization took: {0} sec".format((time.time()-start)))print("Size: {0}".format(len(req_proxy.get_proxy_list())))print("ALL = {0} ".format(list(map(lambdax:x.get_address(),req_proxy.get_proxy_list()))))test_url='http://ipv4.icanhazip.com'whileTrue:start=time.time()request=req_proxy.generate_proxied_request(test_url)print("Proxied Request Took: {0} sec => Status: {1}".format((time.time()-start),request.__str__()))ifrequestisnotNone:print("\t Response: ip={0}".format(u''.join(request.text).encode('utf-8')))print("Proxy List Size: {0}".format(len(req_proxy.get_proxy_list())))print("-> Going to sleep..")time.sleep(10)

贡献

非常感谢开源社区 contributing 为了这个项目!

面对一个问题?

打开一个问题 here,和 尽可能详细:)

感觉缺少功能了吗?

请随便开一张票!我们随时欢迎您!

许可证

这个项目是根据麻省理工学院的许可条款授权的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用从PreparedStatement返回的RowId。getGeneratedKeys()?   selenium chrome驱动程序中下一个网站url的java空白页   java如何将参数化匿名类转换为lambda?   java JUnit在AfterClass上获取测试结果   java将动态XML/JSON内容与静态标记化负载进行比较,并检索标记值   java共享一个需要数据持久性的项目[数据库]   java在调用方法时获取意外的参数类型。getParameterTypes()   java如何用jdbc在swing中用另一个字段替换外键?   需要java Jersey Tomcat CDI依赖项解释   java如何生成UML图   java如何编写Jersey rest服务可以通过给定的spring代码访问   SpringMaven存储库管理器Nexus与Java依赖项的Artifactory   java将包从另一个项目导入eclipse中的当前项目   加密Java使用密码加密文件