爬虫-设置代理ip

1.为什么要设置代理ip

在学习Python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术导致爬取失败。高强度、高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,所以通过设置代理IP来避免被封,从而顺利爬取。

2.从那里获取免费的IP

西刺免费代理

快代理免费代理

from bs4 import BeautifulSoup
import requests
import random

def get_ip_list(url, headers):
    web_data = requests.get(url, headers=headers)
    soup = BeautifulSoup(web_data.text, ‘lxml‘)
    ips = soup.find_all(‘tr‘)
    ip_list = []
    for i in range(1, len(ips)):
        ip_info = ips[i]
        tds = ip_info.find_all(‘td‘)
        ip_list.append(tds[1].text + ‘:‘ + tds[2].text)
    return ip_list

def get_random_ip(ip_list):
    proxy_list = []
    for ip in ip_list:
        proxy_list.append(‘http://‘ + ip)
    proxy_ip = random.choice(proxy_list)
    proxies = {‘http‘: proxy_ip}
    return proxies

if __name__ == ‘__main__‘:
    url = ‘http://www.xicidaili.com/nn/‘
    headers = {
    ‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.60 Safari/537.17‘
    }
    ip_list = get_ip_list(url, headers=headers)
    proxies = get_random_ip(ip_list)
    print(proxies)

通过这段代码可以爬取免费代理网站中的代理IP,可以把它封装起来,在使用的时候调用类,也可以把爬取的代理IP存储起来,在使用的时候取出来。

3.使用代理IP

# example
proxies = {
    ‘https‘:‘https://180.118.135.37:9000‘
}
res = requests.get(url, headers=headers, proxies=proxies)

原文地址:https://www.cnblogs.com/loveprogramme/p/9451912.html

时间: 2024-08-27 02:07:51

爬虫-设置代理ip的相关文章

node.js 爬虫动态代理ip

参考文章: https://andyliwr.github.io/2017/12/05/nodejs_spider_ip/ https://segmentfault.com/q/1010000008196143 代码: import request from 'request'; import userAgents from './common/userAgent'; //这里只做测试,所以用变量存,而实际应用中,应该使用数据缓存 const expiryTime = 10 * 60 * 100

浏览器怎么设置代理IP?四种浏览器设置代理IP的方法

有时候上网需要更换IP,但是本地IP不需要更换,只是通过更换浏览器IP的方式来隐藏自己的IP,突破网络的限制,那么浏览器怎么设置代理IP?不同的浏览器设置代理IP的方法略有不同,下面黑洞代理小编整理了四种浏览器设置代理IP的方法.1.IE浏览器IE浏览器无疑是最常用的浏览器,而像360浏览器.搜狗浏览器.QQ浏览器这样的浏览器都是基于IE内核开发的浏览器,设置代理IP的方法也大同小异.IE浏览器上选择"工具--Internet选项--连接--局域网设置".在"局域网设置&qu

python爬取准备四 定义Opener和设置代理IP

Handler和Opener Handler处理器和自定义Opener opener是urllib2.OpenerDirector的实例,我们之前一直在使用urlopen,它是一个特殊的opener(也就是我们构建好的). 但是urlopen()方法不支持代理.cookie等其他的HTTP/GTTPS高级功能.所有要支持这些功能: 1.使用相关的Handler处理器来创建特定功能的处理器对象: 2.然后通过urllib2.build_opener()方法使用这些处理器对象,创建自定义opener

爬虫平台设置代理ip

首先从国外一个网站爬取了免费的代理ip信息存到mongodb中:接着代码设置: 在爬虫客户端抽象类中添加属性: 设置代理的代码其实就以下几句: firefoxProfile.setPreference("network.proxy.type", 1); firefoxProfile.setPreference("network.proxy.no_proxies_on", "localhost, 127.0.0.1"); //设置当没有代理ip时本

java爬虫常用设置代理IP教程

爬虫必须用代理IP吗?很多用户认为爬虫必须要用代理IP,没有代理IP将寸步难行:也有人说,代理IP是非必须的.那么他们这样认为的理由都是什么呢?有的用户他自己写爬虫程序,公司的任务一天要爬取几十万个页面,有时任务多的时候一天要上百万,爬着爬着IP就被封了,没有代理IP根本不行,他认为没有代理ip爬虫将寸步难行.他们说很有道理,都用亲身体验来证明了自己的观点.爬虫程序从本质上来说也是个访问网页的用户而已,只不过是个不那么守规矩的特殊用户,服务器一般很不欢迎这样的特殊用户总是用各种手段发现和禁止.最

爬虫使用代理IP为什么不能全部成功

很多朋友在网络工作中经常会碰到各种各样的问题,比如访问某网站加载太慢,多刷新了几次被提示访问太频繁IP被限制:有的网站注册了几个账号后提示当前IP最多只能注册3个账号或者直接封号:有的网站发几个帖子提示当天发帖已经达到上限等等.这样的事情太多的太多了,后来人们发现,使用代理IP可以很好的解决这个问题.代理IP何处有,免费代理IP到处有,很多朋友网上找到很多,但实际能用的非常少:也有很多朋友自己写代码批量爬取免费代理IP,然后做批量验证,这样效果高了很多,但实际上能用的也并不多,ip的稳定和速度也

爬虫使用代理IP更安全

我们知道,当我们上网时,我们的真实IP可能会被泄露,当被别有用心的人获取到时则可能会对我们造成一些伤害.而如果使用了代理IP上网后,则完美的隐藏了我们的本机真实IP,多加了一份安全保障.为什么说使用代理IP可以让上网更安全呢? 代理服务器的原理相当于一个连接客户端和远程服务器的一个"中转站",当我们向远程服务器提出服务要求后,代理服务器首先获取用户的请求,并将服务请求转交至远程服务器,并将远程服务器返回后的结果再转交给客户端,等于和服务端打交道的是代理服务器,由它抛头露面,客户端则隐藏

爬虫使用代理ip

获得代理IP的网站: http://www.xicidaili.com/ 验证代理是否可用的方式之一: globalUrl = "http://ip.chinaz.com/getip.aspx" 如何使用代理: 一 使用requests: import requests ip = "http://" + i[0]+":"+i[1]ipdict = {"http":ip}requests.get(globalUrl,header

python设置代理IP来爬取拉勾网上的职位信息,

import requests import json import time position = input('输入你要查询的职位:') url = 'https://www.lagou.com/jobs/positionAjax.json?city=%E6%9D%AD%E5%B7%9E&needAddtionalResult=false' headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/5