首页 > 其他分享 >爬虫使用http代理

爬虫使用http代理

时间:2023-05-05 11:05:35浏览次数:45  
标签:http ip 数据库 爬虫 代理 API 随机 IP

1、每个过程从接口中随机取出IP列表,重复使用。失败后,调用API获取。

一般逻辑如下:

(1)每个过程,从接口中随机取回部分ip,反复尝试ip目录以获取数据;

(2)如果访问成功,继续抓住下一个。

(3)如果失败,从界面取一批IP,继续尝试。

方案缺点:每个IP都有截止日期。如果提取100个,使用第20个,剩下的大部分可能无法使用。如果设置HTTP请求时连接时间超过3秒,读取时间超过5秒,可能需要3-8秒,3-8秒内可能会抓取几百次。

2、每个过程从界面随机取一个IP使用。如果失败,调用API获取IP。

一般逻辑如下:

(1)每个过程,从界面随机取回一个ip,使用它浏览资源,

(2)如果访问成功,继续抓住下一个。

(3)如果失败,随机从界面取一个IP,继续尝试。

方案缺点:调用API获取IP非常频繁,会对代理服务器造成很大压力,影响API接口的稳定性,可能会限制提取。这个方案不适合,不能长期稳定运行。

3、首先提取大量IP导入本地数据库,从数据库中提取IP。

一般逻辑如下:

(1)在数据库中建立一个表格,写一个导入脚本,每分钟需要多少个API(咨询代理IP服务提供商的建议),并将IP列表导入数据库。

(2)记录导入时间、IP、Port、过期时间、IP可用状态等字段;

(3)写一个抓取脚本,从数据库中读取可用的IP,每个过程从数据库中获取一个IP供使用。

执行抓取、判断结果、处理cookie等。,只要有验证码或失败,就放弃ip,重新更换ip。

#! -*- encoding:utf-8 -*-

    import requests

    # 要访问的目标页面
    targetUrl = "http://ip.hahado.cn/ip"

    # 代理服务器
    proxyHost = "ip.hahado.cn"
    proxyPort = "39010"

    # 代理隧道验证信息
    proxyUser = "username"
    proxyPass = "password"

    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host" : proxyHost,
        "port" : proxyPort,
        "user" : proxyUser,
        "pass" : proxyPass,
    }

    proxies = {
        "http"  : proxyMeta,
        "https" : proxyMeta,
    }

    resp = requests.get(targetUrl, proxies=proxies)

    print resp.status_code
    print resp.text

爬虫使用http代理_API

标签:http,ip,数据库,爬虫,代理,API,随机,IP
From: https://blog.51cto.com/u_15822686/6245032

相关文章

  • 利用Python爬虫采集1688商品详情数据 +商品列表数据+商品API接口(支持全网)
    一、如何通过手动方式查看1688商品详情页面的数据1.1688商品详情API接口(item_get-获得1688商品详情接口),1688API接口代码对接可以获取到宝贝ID,宝贝标题,价格,掌柜名称,库存,最小购买数,宝贝链接,宝贝图片,品牌名称,商品详情,详情图片等页面上有的数据均可以获取到,手动方式如下:例......
  • java 实现简单的http客户端
    1、废话不多说,代码如下packagecom.linhuaming.test;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.MalformedURLException;importjava.net.Socket;importjava.net.URL;/***http客户端测试*/publicclassHttpClientTest{pub......
  • Python爬虫scrapy框架教程
    Scrapy是一个Python爬虫框架,用于提取网站上的数据。以下是使用Scrapy构建爬虫的基本步骤:安装Scrapy:在终端中运行pipinstallscrapy创建一个新项目:在终端中运行scrapystartprojectprojectname创建一个爬虫:在项目文件夹中运行scrapygenspiderspidername http://website.co......
  • Python爬虫scrapy框架教程
    Scrapy是一个Python爬虫框架,用于提取网站上的数据。以下是使用Scrapy构建爬虫的基本步骤:安装Scrapy:在终端中运行pipinstallscrapy创建一个新项目:在终端中运行scrapystartprojectprojectname创建一个爬虫:在项目文件夹中运行scrapygenspiderspidername http://website.com编......
  • Python爬虫常用框架
    大家都知道python是一门多岗位编程语言,学习python之后可以从事的岗位有很多,python爬虫便在其中,不过很多人对python不是很了解,所以也不知道python爬虫是什么,接下来小编为大家介绍一下。Python是一门非常适合开发网络爬虫的编程语言,相比于其他静态编程语言,Python抓取网页文档的接口更......
  • 使用nginx配置https域名证书
    安装SSL模块要在nginx中配置https,就必须安装SSL模块,也就是:http_ssl_module。进入到nginx的解压目录新增SSL模块(原来的那些模块需要保留)./configure\--prefix=/usr/local/nginx\--pid-path=/var/run/nginx/nginx.pid\--lock-path=/var/lock/nginx.local\--e......
  • 极简爬虫通用模板
    网络爬虫的一般步骤如下:1、确定爬取目标:确定需要爬取的数据类型和来源网站。2、制定爬取策略:确定爬取哪些网页、如何爬取和频率等。3、构建爬虫程序:使用编程语言(如Python)实现爬虫程序,通过HTTP请求获取网页内容,并进行解析和处理。4、数据存储:将爬取到的数据存储到数据库或文件......
  • nginx的反向代理缓存
    #proxy_cache_path设置缓存保存的目录#keys_zone设置共享内存以及占用的空间大小#max_size设置缓存大小#inactive超过此时间,则缓存自动清理#use_temp_path关闭临时目录proxy_cache_path/usr/local/nginx/upstream_cachekeys_zone=myca......
  • Python_17 OSI模型和HTTP协议
    一、查缺补漏 1.Wireshark抓报文 2.要学习的所有博客: http://testingpai.com/member/haili/articles二、OSI模型 1.物理层 2.数据链路层 3.网络层 4.传输层:TCP(靠谱的传输协议,传输有限) UDP(广播协议会丢包,不是很靠谱,但是可以传输......
  • http数据包
    http数据包HTTP由请求和响应两部分组成,所以对应的也有两种报文格式。下面分别介绍HTTP请求报文格式和HTTP响应报文格式手边正好有抓的一个包(buu的)请求头POST/LoginHTTP/1.1Host:79fd8c0f-490b-4f57-9847-41eccb7bf59d.node4.buuoj.cn:81User-Agent:Mozilla/5.0(X1......