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

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

 1 import requests
 2 from lxml import etree
 3 url = "https://www.ip.cn"
 4 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", }
 5 pro = {
 6     # ‘https‘: ‘https://118.122.92.252:37901‘,        #四川省成都市 电信
 7     ‘https‘: ‘https://27.17.45.90:43411‘,         #湖北省武汉市 电信
 8 }
 9 try:
10     response = requests.get(url, headers=headers, proxies=pro)
11     html_str = response.content.decode()
12     # print(html_str)
13     html = etree.HTML(html_str)
14     message = html.xpath("//div[@class=‘well‘]//p/text()")
15     ip = html.xpath("//div[@class=‘well‘]//p/code/text()")
16     eng = html.xpath("//div[@class=‘well‘]/p/text()")
17     print(message[0]+ip[0])
18     print(message[1]+ip[1])
19     print(eng[2])
20 except requests.exceptions.ProxyError as e:
21     print("当前代理异常")
22 except:
23     print("当前请求异常")

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

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

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

原文地址:https://www.cnblogs.com/blackmanzhang/p/10489173.html

时间: 2024-08-29 11:59:35

python爬虫简单的添加代理进行访问的相关文章

Python爬虫简单笔记

Python2.7里内置了很多非常有用的库,它在我电脑上的位置在/usr/lib/python2.7中. 写个基本的爬虫要用到的库有urllib.urllib2.cookielib.sgmllib和re,下面先分别简单介绍下一些文件的信息和相关函数——具体的真的是建议阅读源码,网上找的资料反而不及它直观(但先了解个大概总是好的),但sgmllib除外.先看一段代码吧. opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie

Python爬虫简单入门及小技巧

刚刚申请博客,内心激动万分.于是为了扩充一下分类,随便一个随笔,也为了怕忘记新学的东西由于博主十分怠惰,所以本文并不包含安装python(以及各种模块)和python语法. 目标 前几天上B站时看到一部很好玩的番剧,名字<笨女孩>,实际上是由同名的搞笑向漫画动画化的.大家都知道动画一般一周一更,很难满足我们的需求,所以我们就来编写一个爬虫,来爬取漫画咯. 那么本文的目标就是爬取<初音MIX>这部漫画(因为笨女孩我已经爬取过了>_<).这部漫画我记得是小学的时候看的,也是

python爬虫(简单版)

学过python的帅哥都知道,爬虫是python的非常好玩的东西,而且python自带urllib.urllib2.requests等的库,为爬虫的开发提供大大的方便. 这次我要用urllib2,爬一堆风景图片. 先上重点代码 1 response = urllib2.urlopen(url).read() 2 soup = BeautifulSoup( 3 response, # html字符串 4 'html.parser', # html解析器 5 from_encoding='utf-8

[python爬虫]简单爬虫功能

在我们日常上网浏览网页的时候,经常会看到某个网站中一些好看的图片,它们可能存在在很多页面当中,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材. 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度.就算可以弄下来,但是我们需要几千个页面当中的图片,如果一个一个下载,你的手将残.好吧-!其实你很厉害的,右键查看页面源代码. 我们可以通过python 来实现这样一个简单的爬

Python爬虫--简单爬取图片

今天晚上弄了一个简单的爬虫,可以爬取网页的图片,现在现在做一下准备工作. 需要的库:urllib 和 re urllib库可以理解为是一个url下载器,其中的有两个重要的方法 urllib.urlopen()和urllib.read()这两个方法,具体使用可以在网上查到;re这个库提供对正则表达式支持. 我们要爬取的网页是:http://pic.yesky.com/496/33546996d_13.shtml   把美女筱崎爱给拔下来,其实关键就是要写出一个图片地址对应的正则表达式,下面是代码片

python爬虫之Scrapy 使用代理配置——乾颐堂

在爬取网站内容的时候,最常遇到的问题是:网站对IP有限制,会有防抓取功能,最好的办法就是IP轮换抓取(加代理) 下面来说一下Scrapy如何配置代理,进行抓取 1.在Scrapy工程下新建“middlewares.py” 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # Importing base64 library because we'll need it ONLY in case if the proxy we are going to use requires au

python爬虫之Scrapy 使用代理配置

转载自:http://www.python_tab.com/html/2014/pythonweb_0326/724.html 在爬取网站内容的时候,最常遇到的问题是:网站对IP有限制,会有防抓取功能,最好的办法就是IP轮换抓取(加代理) 下面来说一下Scrapy如何配置代理,进行抓取 1.在Scrapy工程下新建“middlewares.py” # Importing base64 library because we'll need it ONLY in case if the proxy

python爬虫简单实现,并在java中调用python脚本,将数据保存在json文件中

# coding:utf-8 import urllib2 from bs4 import BeautifulSoup import json import sys reload(sys) sys.setdefaultencoding('utf-8') class dataBean(object) : def __init__(self, title, url,date): self.date = date self.url = url self.title = title def obj_2_

python 爬虫简单优化

import requests print(requests.get('http://pic1.win4000.com/wallpaper/2018-03-20/5ab0bf15b4681.jpg').content)#抓取图片把text换成content with open('004.jpg','wb')as f:#w+ :检测文件不存在,自动创建,encoding解码 f.write(response) 原文地址:https://www.cnblogs.com/liangliangzz/p/