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编写暴力破解FTP密码小工具
Nov 19 Python
python在指定目录下查找gif文件的方法
May 04 Python
Python读取图片属性信息的实现方法
Sep 11 Python
基于python的图片修复程序(实现水印去除)
Jun 04 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
Jun 14 Python
python 将print输出的内容保存到txt文件中
Jul 17 Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
Jun 24 Python
Python高级编程之继承问题详解(super与mro)
Nov 19 Python
Ubuntu16.04安装python3.6.5步骤详解
Jan 10 Python
django自定义非主键自增字段类型详解(auto increment field)
Mar 30 Python
Python sklearn中的.fit与.predict的用法说明
Jun 28 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
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
php读取csv数据保存到数组的方法
2015/01/03 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
PHP中set error handler函数用法小结
2015/11/11 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
ThinkPHP的常用配置选项汇总
2016/03/24 PHP
stripos函数知识点实例分享
2019/02/11 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
javascript实现上传图片前的预览(TX的面试题)
2007/08/20 Javascript
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
js模仿hover的具体实现代码
2013/12/30 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
JavaScript获取当前网页标题(title)的方法
2015/04/03 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
jquery 中toggle的2种用法详解(推荐)
2016/09/02 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
JavaScript编写的网页小游戏,很给力
2017/08/18 Javascript
Vue-Router的使用方法
2018/09/05 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
python迭代器实例简析
2014/09/25 Python
Pyhton中防止SQL注入的方法
2015/02/05 Python
Python环境变量设置方法
2016/08/28 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
华山导游词
2015/02/03 职场文书
反邪教教育心得体会
2016/01/15 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL