http代理

requests第二弹

心不动则不痛 提交于 2020-01-13 16:35:55
引入 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: #!/usr/bin/env python # -*- coding:utf-8 -*- import requests if __name__ == "__main__": #张三人人网个人信息页面的url url = 'http://www.renren.com/289676607/profile' #伪装UA headers={ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', } #发送请求,获取响应对象 response = requests.get(url=url,headers=headers) #将响应内容写入文件 with open('./renren.html','w',encoding='utf-8') as fp: fp.write(response.text) 一.基于requests模块的cookie操作 - 结果发现,写入到文件中的数据

爬虫学习 06.Python网络爬虫之requests模块(2)

对着背影说爱祢 提交于 2020-01-11 08:41:05
爬虫学习 06.Python网络爬虫之requests模块(2) 今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 了解cookie和session - 无状态的http协议 - 如上图所示,HTTP协议 是无状态的协议,用户浏览服务器上的内容,只需要发送页面请求,服务器返回内容。对于服务器来说,并不关心,也并不知道是哪个用户的请求。对于一般浏览性的网页来说,没有任何问题。   - 但是,现在很多的网站,是需要用户登录的。以淘宝为例:比如说某个用户想购买一个产品,当点击 “ 购买按钮 ” 时,由于HTTP协议 是无状态的,那对于淘宝来说,就不知道是哪个用户操作的。   - 为了实现这种用户标记,服务器就采用了cookie这种机制来识别具体是哪一个用户的访问。 了解Cookie - 如图,为了实现用户标记,在Http无状态请求的基础之上,我们需要在请求中携带一些用户信息(比如用户名之类,这些信息是服务器发送到本地浏览器的,但是服务器并不存储这些信息),这就是cookie机制。 - 需要注意的是:cookie信息是保存在本地浏览器里面的,服务器上并不存储相关的信息。 在发送请求时,cookie的这些内容是放在 Http协议中的header

windows配置nginx作为网络代理

允我心安 提交于 2020-01-10 15:05:07
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 参考了网上这位大哥的博客http://www.cnblogs.com/zhengrui/p/6377186.html谢谢大哥!侵删~ 一.下载和安装 1.下载地址: windows版的nginx1.8.0 下载后解压即可使用,我是放在了G:/nginx,是的这里要把加压后的文件名改为nginx。 2.启动nignx 解压后,有三种方式进行启动: 一、双击nginx.exe图标,可见黑窗口一闪而过,启动完毕。 二、命令行到nginx目录,输入nginx启动。(注,此方式命令行窗口无任何提示,且被锁定) 三、命令行到nginx目录,输入start nginx启动,此方式不锁定 3.浏览地址http://localhost,即可访问其默认页面,即映射到NGINX_HOME/html/index.html 注意:请保证80端口不被其他程序或WEB服务器占用。 注:我就是碰到了80端口被占用的情况,导致打不开默认页面。 首先我在命令行 g:nginx下输入nginx.exe -t,正确显示应该如下图,如果80端口被占用则会显示PID什么什么的。 通过netstat -aon|findstr 80 命令查出80端口被pid为4的进程占用,百度后发现这种情况比较常见,应百度经验就能解决啊哈哈:地址在这里: https:/

[Spring框架]Spring AOP基础入门总结一.

﹥>﹥吖頭↗ 提交于 2020-01-10 07:30:35
[Spring框架]Spring AOP基础入门总结一. 前言: 前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过 预编译 方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是 OOP 的延续,是软件开发中的一个热点,也是 Spring 框架中的一个重要内容,是 函数式编程 的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的 耦合度 降低,提高程序的可重用性,同时提高了开发的效率。 AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码. Spring AOP使用纯Java实现,不需要专门的编译过程和类加载器,在运行期通过代理方式向目标类织入增强代码. 二,AOP开发中的专业术语 Joinpoint(连接点) :所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring只支持方法类型的连接点. Pointcut(切入点): 所谓切入点是指我们要对哪些Joinpoint进行拦截的定义. Advice(通知/增强) :所谓通知是指拦截到Joinpoint之后所要做的事情就是通知.通知分为前置通知

python代理池的构建2——代理ip是否可用的处理

不打扰是莪最后的温柔 提交于 2020-01-09 22:29:28
上一篇博客地址: python代理池的构建1——代理IP类的构建,以及配置文件、日志文件、requests请求头 一、代理ip是否可用的处理 #-*-coding:utf-8-*- #check ip ''' 目标:检查代理IP速度,匿名程度以及支持的协议类型. 步骤: 检查代理IP速度和匿名程度; 代理IP速度:就是从发送请求到获取响应的时间间隔 匿名程度检查: 对http://httpbin.org/get 或https://httpbin.org/get 发送请求 如果响应的origin 中有',分割的两个IP就是透明代理IP 如果响应的headers 中包含Proxy-Connection 说明是匿名代理IP,否则就是高匿代理IP检查代理IP协议类型 如果http://httpbin. org/get 发送请求可以成功,说明支持http协议 如果https://httpbin. org/get 发送请求可以成功,说明支持https协议 ''' import time import requests import sys import json sys.path.append("..") #这一部分就是告诉你你要导入的模块在什么位置(相对于本模块地址) sys.path.append("../..") from utils.http import get_requests

Nginx

限于喜欢 提交于 2020-01-09 22:27:12
1. 什么是 Nginx ? Nginx("engine x") 是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能的 Web 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 在高连接并发的情况下, Nginx 是 Apache 服务器不错的替代品。 2. 代理服务器 作为邮件 代理服务 : Nginx 同时也是一个非常优秀的邮件 代理服务 ( 最早开发这个产品的目的之一也是作为邮件代理服务器), Last.fm 描述了成功并且美妙的使用经验。 Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持 perl 语法)、 Bug 非常少的服务。 Nginx 启动特别容易,并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的 升级 。 代理服务器的作用就是将客户端的 HTTP 请求提交到真实服务器 , 得到响应后再返还给客户端 ( 所谓代理就是第三方的介入 ) 2.1 正向代理 隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都由代理服务器代替来请求 总结一下,用最简单粗暴的说法:「正向代理」指一对一或多对一, Server 不知道请求的 Client 都是哪些人。 2.2 反向代理 客户端 ---http---> 代理服务器 -----> 未知服务器

spring之AOP

柔情痞子 提交于 2020-01-09 00:30:35
AOP(aspect oriented programming)面向切面编程    1.aop概述      aop简写aspect oriented programming,中文名字:面向切面编程;通过预编译方式和运行期动态代理实现程序功能的维护的一种技术,aop是oop的延续,aop是一个概念,并没有设定具体语言的实现,它能客服那些值有单继承特性语言的缺点.主要功能是日志记录,性能统计,安全控制,事务处理,异常处理等等.oop针对业务过程的实体及行为进行抽取封装,以获取更加清晰高效的逻辑单元划分. aop则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段已获得逻辑过程中个部分之间低耦合的隔离效果.这两种设计思想在目标上有本质的差异. ood/oop面向名领域,aop面向动词领域    2.aop相关术语 1.目标对象(target) 被代理的类(被增强的类) 2.连接点(join point) 那些被拦截到的点,在spring中这些点指的是方法,因为spring只支持方法类型的连接点. 3.切入点(pointcut) 表示一组连接点,这些连接点通过逻辑关系组合起来,或是通过通配,正则表达式等方式集中起来,它定义了项应的advice将要发生的地方 我们对那些哪些方法进行拦截的定义. 4.通知(advice) 拦截到方法之后所要做的事情,通知分为前置通知

xml文件的方式实现动态代理基于SpringAOP

自闭症网瘾萝莉.ら 提交于 2020-01-08 12:46:53
1.配置spring容器 导入jar包        com.springsource.net.sf.cglib-2.2.0.jar     com.springsource.org.aopalliance-1.0.0.jar     com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar     commons-logging-1.1.3.jar     spring-aop-4.2.2.RELEASE.jar     spring-beans-4.2.2.RELEASE.jar     spring-context-4.2.2.RELEASE.jar     spring-core-4.2.2.RELEASE.jar     spring-expression-4.2.2.RELEASE.jar 配置xml文件 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:p="http://www.springframework.org/schema/p" 5

服务器因为安全问题无法连google,用自己的ubuntu电脑做代理,使服务器可以使用google

ぐ巨炮叔叔 提交于 2020-01-07 19:12:09
场景: 公司电脑的centos服务器无法连google,但是安装jenkins服务器的插件需要连接google,手动安装插件太麻烦,还可能会出现不知名的问题,所以在自己的ubuntu电脑上创建http代理,使centos服务器可以通过ubuntu连接google并下载插件 ubuntu的代理工具 一、正向代理tinyproxy使用总结: 1、安装tinyproxy sudo apt-get install tinyproxy 2、tinyproxy的配置文件如下,可以修改代理服务器监听的端口 /etc/tinyproxy.conf 这个端口可以不变,如果有冲突可以修改为其他空闲的端口 二、服务器centos可以设置使用代理 1、在终端敲下面的命令,可以在本terminal使用代理,重启或者退出后失效 export http_proxy = http://ip:8888/ export ftp_proxy = http://ip:8888/ 2、测试代理是否成功: curl “http://www.google.com” 3、可以在全局设置代理,重启也会使用代理,在/etc/profile最后加如一下几行: http_proxy = http://username:password@yourproxy:8080/ ftp_proxy = http://username

Nginx

和自甴很熟 提交于 2020-01-07 16:24:25
1 Nginx的简介 1.1 Nginx概述 Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用Nginx的网站用户有:百度、京东、新浪、网易、腾讯和淘宝等。 1.2 Nginx作为web服务器 Nginx可以作为静态页面的web服务器,同时还支持CGI协议的动态语言,比如perl、php等。但是不支持java。java程序只能通过和tomcat等服务器配置使用。Nginx专为性能优化而开发,性能是最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。 1.3 正向代理 Nginx不仅可以做反向代理,实现负载均衡。还能通过正向带来来进行上网等功能。 正向代理:如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。 例如:国内是不能访问www.google.com的,但是可以通过正向代理服务器来访问www.google.com,如下图所示: 1.4 反向代理服务器 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端