MyCodery - 无头浏览器的网页抓取API API

我们的MyCodery - 具备无头浏览器功能的网页抓取API允许您在模拟真实浏览器的情况下从网站中提取数据 这使您能够绕过限制 解决验证码并轻松抓取动态网站 非常适合高水平的网页抓取任务
通过 MCP 从您的 AI 代理使用此 API
支持 OpenClaw、Claude Code/Desktop、Cursor、Windsurf、Cline 以及任何兼容 MCP 的 AI 客户端。
文档和设置
通过封装此 MCP 创建技能: https://mcp.zylalabs.com/mcp?apikey=YOUR_ZYLA_API_KEY

关于API:

我们的MyCodery - 具有无头浏览器能力的网页抓取API是高水平网页抓取任务的完美解决方案。这个强大的API允许您在模拟真实浏览器的情况下从网站中提取数据。这意味着您可以轻松绕过网站限制,解决验证码,并抓取动态网站。

该API的无头浏览器功能模拟真实浏览器,使其能够像人类用户一样与网页进行交互。这对于抓取使用JavaScript和其他动态元素的网站以及绕过机器人检测机制尤为有用。

该API还提供广泛的数据提取工具,使您可以轻松从网页中提取所需信息,包括文本、图像和链接。该API还可以根据您的特定需求进行定制,例如从页面上的特定元素提取数据或跟踪链接以抓取多个页面。

我们的API易于集成到现有系统中,无论是移动应用、网站还是独立应用程序。它的设计旨在用户友好且易于使用,使得各级开发人员都能轻松访问。

总而言之,我们的具有无头浏览器能力的网页抓取API是高水平网页抓取任务的完美解决方案。凭借模拟真实浏览器、绕过网站限制和解决验证码的能力,这个API让抓取动态网站变得轻而易举。

这个API接收什么,您的API提供什么(输入/输出)?

传递您想要抓取的URL,并在几秒钟内接收其中的HTML。

 

这个API最常见的使用案例是什么?

  1. 竞争情报:使用API抓取竞争对手网站上的定价、产品供应和其他相关信息,以在市场中获得竞争优势。

  2. 在线市场:使用API抓取在线市场网站,以收集价格、产品和卖家评分的数据,用于价格比较和市场研究。

  3. 商业智能:使用API抓取商业新闻网站和社交媒体平台以跟踪市场趋势、竞争者活动和客户情绪。

  4. 职位发布:从多个招聘网站和职业网站提取职位发布信息,以创建可搜索的职位机会数据库,即使该网站使用反抓取技术。

  5. 房地产:从房地产网站提取房产列表、定价和位置信息,以创建全面的房地产市场信息数据库。

  6. 数据挖掘:使用API从公共网站抓取大量数据以进行分析和研究,如科学数据、财务数据等。

 

您的计划有任何限制吗?

除了每月的API调用限制外,没有其他限制。

API 文档

端点


返回一个网址的html代码


                                                                            
GET https://pr140-testing.zylalabs.com/api/21/mycodery+-+web+scraping+api+with+headless+browser+api/82/scrape
                                                                            
                                                                        

刮擦 - 端点功能

对象 描述
url [必需]
render_js 可选
country_code 可选 Select the country you want to set the proxy into. Two letter code (ISO 3166-1 format)
premium_proxy 可选
测试端点

API 示例响应

       
                                                                                                        
                                                                                                                                                                                                                                                                                                                                        <!DOCTYPE html><!--[if IE]><![endif]--><!--[if IE 8 ]><html dir="ltr" lang="en" class="ie8"><![endif]--><!--[if IE 9 ]><html dir="ltr" lang="en" class="ie9"><![endif]--><!--[if (gt IE 9)|!(IE)]><!--><html dir="ltr" class="ltr wf-loading wf-playfairdisplay-n9-loading wf-montserrat-n4-loading" lang="en"><!--<![endif]--><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1"><title>La Chic | Chicago's Prom Headquarters</title>
<base href="//www.lachicchicago.com">
<link rel="canonical" href="https://www.lachicchicago.com">    
<meta http-equiv="X-UA-Compatible" content="IE=edge">

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
<style>
    #mainslider .scrollingslide img {
        height: 700px !important;
        width:auto !important;
    }
   
</style>
            <link href="https://estylecdn.com/rdoassets/catalog/view/theme/pav_fashion/stylesheet/bootstrap.css" rel="stylesheet">
        <!--    <link rel="stylesheet" href="https://estylecdn.com/ar/fontawesome/4.7/css/font-awesome.min.css">-->
        <link rel="stylesheet" href="https://estylecdn.com/ar/fontawesome/css/all.css" crossorigin="anonymous">
    <link href="https://estylecdn.com/rdoassets/catalog/view/theme/pav_fashion/stylesheet/stylesheet.min.css" rel="stylesheet">

<style>
    /* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-display:swap;
  font-style: normal;
  font-weight: 300;
  src: local('Nunito Light'), local('Nunito-Light'), url(https://fonts.gstatic.com/s/nunito/v10/XRXW3I6Li01BKofAnsSUb-vISTs.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-display:swap;
  font-style: normal;
  font-weight: 300;
  src: local('Nunito Light'), local('Nunito-Light'), url(https://fonts.gstatic.com/s/nunito/v10/XRXW3I6Li01BKofAnsSUYevI.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
</style>



    <link href="https://estylecdn.com/rdoassets/catalog/view/theme/pav_fashion/stylesheet/customize/ESC-White-on-White.css" rel="stylesheet">
    <link rel="stylesheet" href="https://estylecdn.com/ar/assetssty/12/escpavmod.min.css">
    <script src="https://connect.facebook.net/signals/config/397495456115138?v=2.9.179&amp;r=stable&amp;domain=www.lachicchicago.com&amp;hme=b8122d5d96cd6f542162ba4f497489972d1ebe228d24c39d34f560e30ae932ce&amp;ex_m=70%2C122%2C107%2C111%2C61%2C4%2C100%2C69%2C16%2C97%2C89%2C51%2C54%2C173%2C176%2C188%2C184%2C185%2C187%2C29%2C101%2C53%2C77%2C186%2C168%2C171%2C181%2C182%2C189%2C132%2C41%2C191%2C192%2C34%2C144%2C15%2C50%2C197%2C196%2C134%2C18%2C40%2C1%2C43%2C65%2C66%2C67%2C71%2C93%2C17%2C14%2C96%2C92%2C91%2C108%2C52%2C110%2C39%2C109%2C30%2C94%2C26%2C169%2C172%2C141%2C86%2C56%2C84%2C33%2C73%2C0%2C95%2C32%2C28%2C82%2C83%2C88%2C47%2C46%2C87%2C37%2C11%2C12%2C13%2C6%2C7%2C25%2C22%2C23%2C57%2C62%2C64%2C75%2C102%2C27%2C76%2C9%2C8%2C80%2C48%2C21%2C104%2C103%2C105%2C98%2C10%2C20%2C3%2C38%2C74%2C19%2C5%2C90%2C81%2C44%2C35%2C85%2C2%2C36%2C63%2C42%2C106%2C45%2C79%2C68%2C112%2C60%2C59%2C31%2C99%2C58%2C55%2C49%2C78%2C72%2C24%2C113" async=""></script><script async="" src="https://connect.facebook.net/en_US/fbevents.js"></script><script data-cfasync="false" src="//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script data-cfasync="false" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.min.css">



<script data-cfasync="false" async="" src="https://estylecdn.com/ar/js/jquery.invertImages.min.js"></script>

<script data-cfasync="false" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script data-cfasync="false" async="" src="https://estylecdn.com/rdoassets/catalog/view/javascript/jquery/magnific/jquery.magnific-popup.min.js"></script>

<script data-cfasync="false" async="" src="https://estylecdn.com/ar/assetssty/12/commoncomb.min.js"></script>



<script>
document.addEventListener("DOMContentLoaded", function() {
  var lazyImages = [].slice.call(document.querySelectorAll("img.lazy"));;

  if ("IntersectionObserver" in window && "IntersectionObserverEntry" in window && "intersectionRatio" in window.IntersectionObserverEntry.prototype) {
    let lazyImageObserver = new IntersectionObserver(function(entries, observer) {
      entries.forEach(function(entry) {
        if (entry.isIntersecting) {
          let lazyImage = entry.target;
          lazyImage.src = lazyImage.dataset.src;
          lazyImage.srcset = lazyImage.dataset.srcset;
          lazyImage.classList.remove("lazy");
          lazyImageObserver.unobserve(lazyImage);
        }
      });
    });

    lazyImages.forEach(function(lazyImage) {
      lazyImageObserver.observe(lazyImage);
    });
  }
});


document.addEventListener("DOMContentLoaded", function() {
  var lazyBackgrounds = [].slice.call(document.querySelectorAll(".lazy-background"));

  if ("IntersectionObserver" in window && "IntersectionObserverEntry" in window && "intersectionRatio" in window.IntersectionObserverEntry.prototype) {
    let lazyBackgroundObserver = new IntersectionObserver(function(entries, observer) {
      entries.forEach(function(entry) {
        if (entry.isIntersecting) {
          entry.target.classList.add("visible");
          lazyBackgroundObserver.unobserve(entry.target);
        }
      });
    });

    lazyBackgrounds.forEach(function(lazyBackground) {
      lazyBackgroundObserver.observe(lazyBackground);
    });
  }
});
</script>

    <style>
    .ui-slider { position: relative; text-align: left; }
    .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 10px; height: 10px; cursor: default; }
    .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: 12px; display: block; border: 0; background-position: 0 0; }
    .ui-slider-horizontal { height: 8px; }
    .ui-slider-horizontal .ui-slider-handle { top: -1px; margin-left: -2px; }
    .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
    .ui-slider-horizontal .ui-slider-range-min { left: 0; }
    .ui-slider-horizontal .ui-slider-range-max { right: 0; }
    
    .ui-slider-horizontal .ui-slider-handle {
        top: -6px;
        margin-left: -2px;
    }

    .ui-slider .ui-slider-handle {
        position: absolute;
        z-index: 2;
        width: 18px;
        height: 18px;
        cursor: default;
    }

    .ui-state-default, .ui-widget-content .ui-state-default{
        border: 1px solid #000000;
       
    }
    </style>
    <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/15.6.0/nouislider.min.css" as="style" onload="this.rel='stylesheet'">
    <noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/15.6.0/nouislider.min.css"></noscript>

 <script src="https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/15.6.0/nouislider.min.js" defer=""></script>
    <script>
        jQuery(document).ready(function($) {
            var slider = document.getElementById('slider-rangeMOB');

            noUiSlider.create(slider, {
                start: [0, 6000],
                connect: true,
                range: {
                    'min': 0,
                    'max': 6000
                },
                format: {
                    to: function (value) {
                        return Math.round(value);
                    },
                    from: function (value) {
                        return Number(value);
                    }
                }
            });

            slider.noUiSlider.on('update', function(values, handle) {
                $('#amountMOB').val('$' + values[0] + ' - $' + values[1]);
            });

            slider.noUiSlider.on('start', function() {
                document.getElementById('priceFilterOnIdMOB').checked = true;
            });

            $('#amountMOB').val('$' + slider.noUiSlider.get()[0] + ' - $' + slider.noUiSlider.get()[1]);
        });
    </script>
<script data-cfasync="false">
    jQuery(function() {
                    // jQuery( "#slider-rangeMOB" ).slider({
            //         range: true,
            //         min: 0,
            //         max: 6000,
            //         values: [ 0, 6000 ],
            //         slide: function( event, ui ) {
            //                 jQuery( "#amountMOB" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
            //         },
            //         start: function(event, ui) {
            //                 document.getElementById('priceFilterOnIdMOB').checked=true;
            //         }
            // });
            // jQuery( "#amount" ).val( "$" + jQuery( "#slider-rangeMOB" ).slider( "values", 0 ) +
            //         " - $" + jQuery( "#slider-rangeMOB" ).slider( "values", 1 ) );



            jQuery('.attChk').change(function() {
                if(jQuery(this).is(":checked")) {
                    jQuery(this).parent().parent().parent().prev().find('.attClear').html(" <a href='#' class=attClearBtn>Clear</a>");
                }
            });
            $(".filterToggle").click(function () {
                $header = $(this);
                $content = $header.next('div');
                $content.slideToggle(500, function () {
                    $("span.filterInd",$header).text(function () {
                        return $content.is(":visible") ? "-" : "+";
                    });
                });
            });
            $(".filterToggleCB").click(function () {
                $header = $(this).parent();
                $content = $header.next('div');
                $content.slideT...
                                                                                                                                                                                                                    
                                                                                                    

刮擦 - 代码片段


curl --location --request GET 'https://zylalabs.com/api/21/mycodery+-+web+scraping+api+with+headless+browser+api/82/scrape?url=https://www.youtube.com/' --header 'Authorization: Bearer YOUR_API_KEY' 


    

API 访问密钥和身份验证

注册后,每个开发者都会被分配一个个人 API 访问密钥,这是一个唯一的字母和数字组合,用于访问我们的 API 端点。要使用 MyCodery - 无头浏览器的网页抓取API API 进行身份验证,只需在 Authorization 标头中包含您的 bearer token。
标头
标头 描述
授权 [必需] 应为 Bearer access_key. 订阅后,请查看上方的"您的 API 访问密钥"。

简单透明的定价

无长期承诺。随时升级、降级或取消。 免费试用包括最多 50 个请求。

🚀 企业版

起价
$ 10,000/年


  • 自定义数量
  • 自定义速率限制
  • 专业客户支持
  • 实时 API 监控

客户喜爱的功能

  • ✔︎ 仅支付成功请求
  • ✔︎ 7 天免费试用
  • ✔︎ 多语言支持
  • ✔︎ 一个 API 密钥,所有 API。
  • ✔︎ 直观的仪表板
  • ✔︎ 全面的错误处理
  • ✔︎ 开发者友好的文档
  • ✔︎ Postman 集成
  • ✔︎ 安全的 HTTPS 连接
  • ✔︎ 可靠的正常运行时间

MyCodery - 无头浏览器的网页抓取API API FAQs

GET抓取端点返回指定URL的完整HTML代码。这包括网页上存在的所有文本、图像、链接和其他元素,使用户能够提取所需的任何信息

响应数据被结构化为单一的HTML文档 用户可以使用标准的HTML解析技术解析该文档以访问特定元素 例如标题 段落 图像和链接

获取抓取端点的主要参数是要抓取的网页的URL 用户可以通过指定额外的参数来定制他们的请求,例如头部或用户代理字符串,以模拟不同的浏览器行为

GET抓取端点提供对指定网页上所有公开可用信息的访问,包括文本内容、图像、链接和元数据。这使其适用于各种数据提取任务

数据准确性是通过使用无头浏览器来维持的,该浏览器模拟真实用户的交互。这有助于绕过限制,并确保获取到网页的最新版本,从而减少过时或不正确数据的可能性

典型的用例包括竞争分析 市场研究 职位列表聚合和趋势数据挖掘 用户可以根据自己的需求提取特定信息进行分析或报告

用户可以使用返回的HTML数据,通过使用HTML解析库(例如Python中的BeautifulSoup)根据他们的要求提取特定元素,如文本、图像或链接,以便进行进一步的分析或存储

该API使用无头浏览器来确保获取的数据反映网页的实时状态 此外 用户可以在数据提取后实施自己的验证检查以确保准确性和相关性

一般常见问题

Zyla API Hub 就像一个大型 API 商店,您可以在一个地方找到数千个 API。我们还为所有 API 提供专门支持和实时监控。注册后,您可以选择要使用的 API。请记住,每个 API 都需要自己的订阅。但如果您订阅多个 API,您将为所有这些 API 使用相同的密钥,使事情变得更简单。

价格以 USD(美元)、EUR(欧元)、CAD(加元)、AUD(澳元)和 GBP(英镑)列出。我们接受所有主要的借记卡和信用卡。我们的支付系统使用最新的安全技术,由 Stripe 提供支持,Stripe 是世界上最可靠的支付公司之一。如果您在使用卡片付款时遇到任何问题,请通过 [email protected]


此外,如果您已经以这些货币中的任何一种(USD、EUR、CAD、AUD、GBP)拥有有效订阅,该货币将保留用于后续订阅。只要您没有任何有效订阅,您可以随时更改货币。

定价页面上显示的本地货币基于您 IP 地址的国家/地区,仅供参考。实际价格以 USD(美元)为单位。当您付款时,即使您在我们的网站上看到以本地货币显示的等值金额,您的卡片对账单上也会以美元显示费用。这意味着您不能直接使用本地货币付款。

有时,银行可能会因其欺诈保护设置而拒绝收费。我们建议您首先联系您的银行,检查他们是否阻止了我们的收费。此外,您可以访问账单门户并更改关联的卡片以进行付款。如果这些方法不起作用并且您需要进一步帮助,请通过 [email protected]

价格由月度或年度订阅决定,具体取决于所选计划。

API 调用根据成功请求从您的计划中扣除。每个计划都包含您每月可以进行的特定数量的调用。只有成功的调用(由状态 200 响应指示)才会计入您的总数。这确保失败或不完整的请求不会影响您的月度配额。

Zyla API Hub 采用月度订阅系统。您的计费周期将从您购买付费计划的那一天开始,并在下个月的同一日期续订。因此,如果您想避免未来的费用,请提前取消订阅。

要升级您当前的订阅计划,只需转到 API 的定价页面并选择您要升级到的计划。升级将立即生效,让您立即享受新计划的功能。请注意,您之前计划中的任何剩余调用都不会转移到新计划,因此在升级时请注意这一点。您将被收取新计划的全部金额。

要检查您本月剩余多少 API 调用,请参考响应标头中的 "X-Zyla-API-Calls-Monthly-Remaining" 字段。例如,如果您的计划允许每月 1,000 个请求,而您已使用 100 个,则响应标头中的此字段将显示 900 个剩余调用。

要查看您的计划允许的最大 API 请求数,请检查 "X-Zyla-RateLimit-Limit" 响应标头。例如,如果您的计划包括每月 1,000 个请求,此标头将显示 1,000。

"X-Zyla-RateLimit-Reset" 标头显示您的速率限制重置之前的秒数。这告诉您何时您的请求计数将重新开始。例如,如果它显示 3,600,则意味着还有 3,600 秒直到限制重置。

是的,您可以随时通过访问您的账户并在账单页面上选择取消选项来取消您的计划。请注意,升级、降级和取消会立即生效。此外,取消后,您将不再有权访问该服务,即使您的配额中还有剩余调用。

您可以通过我们的聊天渠道联系我们以获得即时帮助。我们始终在线,时间为上午 8 点至下午 5 点(EST)。如果您在该时间之后联系我们,我们将尽快回复您。此外,您可以通过 [email protected]

为了让您有机会在没有任何承诺的情况下体验我们的 API,我们提供 7 天免费试用,允许您免费进行最多 50 次 API 调用。此试用只能使用一次,因此我们建议将其应用于您最感兴趣的 API。虽然我们的大多数 API 都提供免费试用,但有些可能不提供。试用在 7 天后或您进行了 50 次请求后结束,以先发生者为准。如果您在试用期间达到 50 次请求限制,您需要"开始您的付费计划"以继续发出请求。您可以在个人资料中的订阅 -> 选择您订阅的 API -> 定价标签下找到"开始您的付费计划"按钮。或者,如果您在第 7 天之前不取消订阅,您的免费试用将结束,您的计划将自动计费,授予您访问计划中指定的所有 API 调用的权限。请记住这一点以避免不必要的费用。

7 天后,您将被收取试用期间订阅的计划的全额费用。因此,在试用期结束前取消很重要。因忘记及时取消而提出的退款请求不被接受。

当您订阅 API 免费试用时,您可以进行最多 50 次 API 调用。如果您希望超出此限制进行额外的 API 调用,API 将提示您执行"开始您的付费计划"。您可以在个人资料中的订阅 -> 选择您订阅的 API -> 定价标签下找到"开始您的付费计划"按钮。

付款订单在每月 20 日至 30 日之间处理。如果您在 20 日之前提交请求,您的付款将在此时间范围内处理。


相关 API


您可能还喜欢