python爬虫简单的添加代理进行访问的实现代码


Posted in Python onApril 04, 2019

在使用python对网页进行多次快速爬取的时候,访问次数过于频繁,服务器不会考虑User-Agent的信息,会直接把你视为爬虫,从而过滤掉,拒绝你的访问,在这种时候就需要设置代理,我们可以给proxies属性设置一个代理的IP地址,代码如下:

import requests
 from lxml import etree
 url = "https://www.ip.cn"
 headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 OPR/57.0.3098.116", }
 pro = {
 # 'https': 'https://118.122.92.252:37901', #四川省成都市 电信
 'https': 'https://27.17.45.90:43411', #湖北省武汉市 电信
 }
 try:
 response = requests.get(url, headers=headers, proxies=pro)
 html_str = response.content.decode()
 # print(html_str)
 html = etree.HTML(html_str)
 message = html.xpath("//div[@class='well']//p/text()")
 ip = html.xpath("//div[@class='well']//p/code/text()")
 eng = html.xpath("//div[@class='well']/p/text()")
 print(message[0]+ip[0])
 print(message[1]+ip[1])
 print(eng[2])
 except requests.exceptions.ProxyError as e:
 print("当前代理异常")
 except:
 print("当前请求异常")

在上面的代码中,调用requests库,对一个IP地址查询网页进行访问,随后使用lxml库的xpath对网页进行分析提取,返回用户访问此网页时自己的IP地址,如果代理设置成功,则会返回你的信息和IP地址,如下:

python爬虫简单的添加代理进行访问的实现代码

如果代理失败则会返回异常,在代码中使用了捕获异常,则会返回设置的提示信息,"当前代理异常",如果不是代理的错误则是"当前请求异常"

python爬虫简单的添加代理进行访问的实现代码

PS:免费的代理不是很稳定,在确认代码无误后,如果仍然返回异常,可尝试更换代理IP...

总结

以上所述是小编给大家介绍的python爬虫简单的添加代理进行访问的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
纯Python开发的nosql数据库CodernityDB介绍和使用实例
Oct 23 Python
Python操作列表之List.insert()方法的使用
May 20 Python
python中的代码编码格式转换问题
Jun 10 Python
Python使用cookielib模块操作cookie的实例教程
Jul 12 Python
Python升级导致yum、pip报错的解决方法
Sep 06 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
python 输出上个月的月末日期实例
Apr 11 Python
对python抓取需要登录网站数据的方法详解
May 21 Python
python实现俄罗斯方块
Jun 26 Python
PyQt5实现简易电子词典
Jun 25 Python
简单了解Python变量作用域正确使用方法
Jun 12 Python
keras.utils.to_categorical和one hot格式解析
Jul 02 Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 #Python
使用 Python 玩转 GitHub 的贡献板(推荐)
Apr 04 #Python
python中yield的用法详解——最简单,最清晰的解释
Apr 04 #Python
详解python项目实战:模拟登陆CSDN
Apr 04 #Python
Python实现字符串匹配的KMP算法
Apr 04 #Python
Python GUI编程完整示例
Apr 04 #Python
Python使用sax模块解析XML文件示例
Apr 04 #Python
You might like
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
PHP 验证码不显示只有一个小红叉的解决方法
2013/09/30 PHP
PHP将进程作为守护进程的方法
2015/03/19 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
jQuery联动日历的实例解析
2016/12/02 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
js笔试题-接收get请求参数
2019/06/15 Javascript
微信小程序之左右布局的实现代码
2019/12/13 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
python 实现归并排序算法
2012/06/05 Python
Python查询Mysql时返回字典结构的代码
2012/06/18 Python
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
python去除字符串中的换行符
2017/10/11 Python
详解django的serializer序列化model几种方法
2018/10/16 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
PyTorch中permute的用法详解
2019/12/30 Python
纯CSS改变webkit内核浏览器的滚动条样式
2014/04/17 HTML / CSS
使用CSS3中的calc()属性来以算式表达尺寸数值
2016/06/06 HTML / CSS
医学院四年学习生活的自我评价
2013/11/06 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
儿园租房协议书范本
2014/12/02 职场文书
活动总结模板大全
2015/05/11 职场文书
十二月早安励志心语大全
2019/12/03 职场文书