• ADADADADAD

    php curl 采集小说[ 网络知识 ]

    网络知识 时间:2024-11-25 15:00:26

    作者:文/会员上传

    简介:

    在网络世界中,小说是一种十分受欢迎的文学形式。网络上有许多小说网站,为了方便用户浏览,也让有些网站提供了小说的API,可以方便我们通过php curl来采集想要的小说内容。小说网

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    在网络世界中,小说是一种十分受欢迎的文学形式。网络上有许多小说网站,为了方便用户浏览,也让有些网站提供了小说的API,可以方便我们通过php curl来采集想要的小说内容。

    小说网站提供的API可以选择用curl来获取数据,因为php curl不仅方便,而且可以进行高级curl功能设置,例如自定义请求头,超时时间等。我们可以用curl的GET方法,向API发送请求,获取API返回的JSON数据格式,并使用json_decode将JSON数据解析为php数组,然后分别提取书名、作者和小说章节内容等信息。

    $apiKey = 'xxxxxxxxx';//API Key$novelId = 'xxxxx';//小说ID$curl = curl_init();$headers = array('authorization: Basic '.$apiKey,'content-type: application/json',);curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($curl, CURLOPT_URL, 'http://api.xxxxxx.com/novel/'.$novelId);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$json = curl_exec($curl);curl_close($curl);$novelInfo = json_decode($json, TRUE);

    在采集网络小说时,我们通常想要将标题、章节和正文内容分别保存到数据库中,以便后面查看或阅读。我们可以使用php正则表达式来解析第二层HTML网页,提取其中的章节标题和正文内容。下面是采集章节内容的示例代码:

    $chapterUrl = 'http://www.xxx.com/xxx.html';$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $chapterUrl);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$content = curl_exec($curl);curl_close($curl);preg_match('/(.*)<\/title>/', $content, $titleMatch);preg_match('/(.*)<\/div>/', $content, $contentMatch);$title = $titleMatch[1];$content = $contentMatch[1];</pre><p>小说网站提供的API一般不会限制采集频率,但如果你的采集程序频繁请求同一个URL,就会被网站认定为DDoS攻击,导致IP被封禁。因此,我们在采集过程中要注意控制请求的频率,可使用sleep函数、队列等方法。</p><p>在对小说内容进行分段时,有时需要消除段落首行文字缩进的问题,可以使用trim()函数来实现:</p><pre>$content = trim($content);</pre><p>在采集小说时,也要考虑到小说版权的问题,如果小说网站明确规定不允许采集,那么我们不能对特定小说进行采集。而且,采集到的内容也不能用于商业用途,否则就可能涉及侵权问题。</p><p>总之,利用php curl采集小说是一项十分有趣的任务,也有挑战性。我们需要花费一定的时间和精力来掌握相关技能,才能扩展我们的采集工具箱。</p>
                        </div>
    <div class="morebg"></div>
    <div class="read"><span class="progress" style="display:none;"></span><span class="read-more" onclick="showMore()" id="show-more-btn" style="display: none;">展开阅读全文 ∨</span></div>
    <script>
      function showMore() {
        var content = document.querySelector('.box02');
        var showMoreBtn = document.querySelector('#show-more-btn');
        var progress = document.querySelector('.progress');
        content.style.maxHeight = 'none';
        showMoreBtn.style.display = 'none';
        progress.style.display = 'none';
      }
      var content = document.querySelector('.box02');
      var showMoreBtn = document.querySelector('#show-more-btn');
      var moreBg = document.querySelector('.morebg');
      var progress = document.querySelector('.progress');
      if (content.scrollHeight > 1800) {
        showMoreBtn.style.display = 'inline-block';
        moreBg.style.display = 'block';
        progress.style.display = 'inline-block';
        var totalHeight = content.scrollHeight;
        var visibleHeight = content.clientHeight;
        var remainingHeight = totalHeight - visibleHeight;
        var percentage = Math.round((remainingHeight / totalHeight) * 100);
        progress.innerHTML = '剩余 ' + percentage + '% 未读';
      }
    </script>
    <div class="download-card margin-b20">
    
    <div class="download-card-info">
    <i class="bi bi-file-earmark-word download-card-icon"></i>
    <div class="download-card-box">
    <h5 class="download-card-title"><a href="https://www.inhv.cn/e/word/doc/?classid=238&id=13553">php curl 采集小说.docx</a></h5>
    <p class="download-card-tip">将本文的Word文档下载到电脑</p>
    <p class="download-card-recommend">
    推荐度:<i class="bi bi-star-fill"></i><i class="bi bi-star-fill"></i><i class="bi bi-star-fill"></i><i class="bi bi-star-fill"></i><i class="bi bi-star-fill"></i> </p>
    </div>
    </div>
    <span class="download-card-btn"><a href="https://www.inhv.cn/e/word/doc/?classid=238&id=13553"><i class="bi bi-cloud-download mr-1"></i><span class="download-text">下载</span></a></span>
    </div>
    <div class="tags margin-b20"><span class="fc9">热门标签:</span>
    <i class="bi bi-tags mx-1 fc6"></i><a class="mr-2 fc6 ah1" href="/tag/php.html" title="php">php</a><i class="bi bi-tags mx-1 fc6"></i><a class="mr-2 fc6 ah1" href="/tag/curl.html" title="curl">curl</a><i class="bi bi-tags mx-1 fc6"></i><a class="mr-2 fc6 ah1" href="/tag/caijixiaoshuo.html" title="采集小说">采集小说</a></div>
                        <div class="dis mt20">
                            
                        </div>
                        <div class="infor clearfix mt10">
                            <div class="fr1">
    <div class="cell">
    <ul id="articlenode">
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/4594.html">申请https需要什么条件</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-20</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/1273.html">php怎么实现https请求</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-19</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/4632.html">https地址无法登陆怎么办</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-20</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/4620.html">为什么无法访问https</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-20</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/4658.html">小程序为什么要用https</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-20</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/1254.html">https解密是在什么层</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-19</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/4689.html">java如何实现https访问</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-20</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/4612.html">服务器如何配置多个https域名</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-20</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/1278.html">什么是https劫持</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-19</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/4695.html">java后台https如何写</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-20</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/1282.html">https异常怎么修复</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-19</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/1281.html">php如何访问https</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-19</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wlzs/1283.html">虚拟机怎么使用https</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-19</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/jzwd/1369.html">幻兽帕鲁孵化器制作在哪里</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-19</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/wzjs/1093.html">南昌高端网站建设方案有哪些</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-19</p></li>
    <li><p class="fll txt"><span></span><a class="ellipsis ah2 f14" href="/bczs/575.html">PHP的php.ini文件有什么作用</a></p><p class="flr f12 fc9"><i class="bi bi-clock mr-1"></i>11-19</p></li>
    
    </ul>
    </div>
                            </div>
                        </div>
                    </div>
    <div class="flr right-side">
    <div class="aside margin-b20">
    <div class="aside1">
    
    </div>
    <div class="articl">
    <h4 class="f18 fc1 fn margin-b5"><i class="bi bi-bookmark-star fc9"></i>精品</h4>
    
    <div class="img-p">
    <a class="ah1" href="/wlzs/4594.html" style="background-image: url('/d/file/pic/765.jpg');"><p class="white f14 ellipsis tac">申请https需要什么条件</p></a>
    
    </div>
    
    <div class="p-list">
    <ul>
    <li><a href="https://www.inhv.cn/wzjs/131016.html" class="ellipsis f14 ah1 aBlock">HBase借助Prometheus怎么优化</a><span class="right">12-25</span></li>
    <li><a href="https://www.inhv.cn/wzjs/131015.html" class="ellipsis f14 ah1 aBlock">Prometheus下HBase报警如何设置</a><span class="right">12-25</span></li>
    <li><a href="https://www.inhv.cn/wzjs/131014.html" class="ellipsis f14 ah1 aBlock">Prometheus与HBase集成难不难</a><span class="right">12-25</span></li>
    <li><a href="https://www.inhv.cn/wzjs/131013.html" class="ellipsis f14 ah1 aBlock">Prometheus监控HBase数据来源</a><span class="right">12-25</span></li>
    <li><a href="https://www.inhv.cn/wzjs/131012.html" class="ellipsis f14 ah1 aBlock">怎样确保Prometheus监控HBase</a><span class="right">12-25</span></li>
    <li><a href="https://www.inhv.cn/wzjs/131011.html" class="ellipsis f14 ah1 aBlock">Prometheus能否全面监控HBase</a><span class="right">12-25</span></li>
    <li><a href="https://www.inhv.cn/wzjs/131010.html" class="ellipsis f14 ah1 aBlock">HBase在Prometheus中如何展示</a><span class="right">12-25</span></li>
    <li><a href="https://www.inhv.cn/wzjs/131009.html" class="ellipsis f14 ah1 aBlock">Prometheus监控HBase有何限制</a><span class="right">12-25</span></li>
    
    </ul>
    </div>
    </div>
    <div class="ad-box margin-b20">
    <!-- AD位置 -->
    </div>
    <div class="articl margin-b20">
    <h4 class="f18 fc1 fn margin-b5"><i class="bi bi-mouse3 fc9"></i>热门推荐</h4>
    
    <div class="p-img-list">
    <a href="https://www.inhv.cn/dnzs/97232.html" class="ah1">
    <div class="img-box" style="background-image: url('/d/file/pic/746.jpg');"></div>
    <div class="cell"><p class="f14 p wbwr">hadoop分布式数据库怎样管理</p><p class="f12 fc9 time"><i class="bi bi-clock mr-1"></i>2024-12-03</p></div>
    </a>
    </div>
    <div class="p-img-list">
    <a href="https://www.inhv.cn/dnzs/90161.html" class="ah1">
    <div class="img-box" style="background-image: url('/d/file/pic/444.jpg');"></div>
    <div class="cell"><p class="f14 p wbwr">ajax和数据库交互的方法是什么</p><p class="f12 fc9 time"><i class="bi bi-clock mr-1"></i>2024-12-03</p></div>
    </a>
    </div>
    <div class="p-img-list">
    <a href="https://www.inhv.cn/dnzs/112894.html" class="ah1">
    <div class="img-box" style="background-image: url('/d/file/pic/1056.jpg');"></div>
    <div class="cell"><p class="f14 p wbwr">hadoop archive适合哪些应用场景</p><p class="f12 fc9 time"><i class="bi bi-clock mr-1"></i>2024-12-06</p></div>
    </a>
    </div>
    <div class="p-img-list">
    <a href="https://www.inhv.cn/dnzs/131569.html" class="ah1">
    <div class="img-box" style="background-image: url('/d/file/pic/1059.jpg');"></div>
    <div class="cell"><p class="f14 p wbwr">hbase metadata能否备份恢复</p><p class="f12 fc9 time"><i class="bi bi-clock mr-1"></i>2024-12-25</p></div>
    </a>
    </div>
    <div class="p-img-list">
    <a href="https://www.inhv.cn/dnzs/96123.html" class="ah1">
    <div class="img-box" style="background-image: url('/d/file/pic/99.jpg');"></div>
    <div class="cell"><p class="f14 p wbwr">如何使用Kafka构建可扩展的日志收集系统</p><p class="f12 fc9 time"><i class="bi bi-clock mr-1"></i>2024-12-03</p></div>
    </a>
    </div>
    
    
    </div>
    <div class="articl margin-b20">
    <h4 class="f18 fc1 fn margin-b5"><i class="bi bi-binoculars fc9"></i>大家都在看</h4>
    <div class="p-h5-list">
    <ul class="clr">
    <li><a href="https://www.inhv.cn/itnews/153674.html">淘宝积分怎么兑换东西,淘宝积分如何使用</a></li>
    <li><a href="https://www.inhv.cn/itnews/153673.html">淘宝账号怎么换绑支付宝账号,淘宝怎么更改支付宝账号</a></li>
    <li><a href="https://www.inhv.cn/itnews/153672.html">淘宝工厂直营店怎么联系客服,淘宝直营店怎么联系客服</a></li>
    <li><a href="https://www.inhv.cn/itnews/153671.html">淘宝付款方式怎么设置在哪,淘宝如何切换付款方式</a></li>
    <li><a href="https://www.inhv.cn/itnews/153670.html">淘宝收货人姓名要真实的吗,快递收件人可以不写真名吗</a></li>
    <li><a href="https://www.inhv.cn/itnews/153669.html">淘宝规则2023,淘宝发货规则</a></li>
    <li><a href="https://www.inhv.cn/itnews/153668.html">怎么关闭淘宝芝麻GO,淘宝芝麻信用怎么关闭</a></li>
    <li><a href="https://www.inhv.cn/itnews/153667.html">淘宝评价隐藏怎么恢复,淘宝评论被自己隐藏了怎么办</a></li>
    <li><a href="https://www.inhv.cn/itnews/153666.html">天猫超市半日达是快递还是外卖,天猫超市半日达是从哪发货</a></li>
    <li><a href="https://www.inhv.cn/itnews/153665.html">淘宝名称可以改么?淘宝名可以改吗在哪里改</a></li>
    <li><a href="https://www.inhv.cn/itnews/153664.html">淘宝消费者投诉客服热线,怎么找淘宝平台的客服</a></li>
    <li><a href="https://www.inhv.cn/itnews/153663.html">京东无货订购怎么取消,京东app如何取消无货订购</a></li>
    <li><a href="https://www.inhv.cn/itnews/153662.html">哪个平台购物是正品,什么平台买的品牌是正品</a></li>
    <li><a href="https://www.inhv.cn/itnews/153661.html">京东白条激活没事吧,京东白条激活了有啥影响么</a></li>
    <li><a href="https://www.inhv.cn/itnews/153660.html">淘宝特价版扣点费用,淘宝特价版扣点多少</a></li>
    
    </ul>
    </div>
    </div>
    <div class="Js_scroll" style="height: 0px;">
    <div>
    
    </div>
    </div>
    </div>
    </div>
                </div>
      <div class="pb10">
          </div>
    </div>
    
    </div>
    <!--main_end-->
    
    </div>
    <div class="rtools" style="display: none;">
      <ul>
        <li class="gotoTop" style="display: flex;">
          <i class="bi bi-arrow-up-circle-fill"></i>
        </li>
      </ul>
    </div>
    
    <script>
      const gotoTopButton = document.querySelector('.gotoTop');
      const rtoolsDiv = document.querySelector('.rtools');
    
      window.addEventListener('scroll', () => {
        if (window.pageYOffset > 200) {
          rtoolsDiv.style.display = 'flex';
        } else {
          rtoolsDiv.style.display = 'none';
        }
      });
    
      gotoTopButton.addEventListener('click', () => {
        window.scrollTo({
          top: 0,
          behavior: 'smooth'
        });
      });
    </script>
    <div class="zd-footer">
    <p>测速网 inhv.cn   <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">皖ICP备2023010105号</a>
    
    E-mail:251442993@qq.com <a href="/allcity.php">网速测试</a> <a href="/dxcity.php">网速测试</a> <a href="/allcitys.php">五险一金计算器</a> <a href="/alldaxie.php">大小写转换</a> <a href="/allfdcity.php">房贷计算器</a> <a href="/allgscity.php">个税计算器</a> <a href="/alljzcity.php">网站建设</a>
    </p>
    <p>本站内容来源于网友提交及搜索引擎,如果我们的某些资料侵犯了您的合法权益或对您造成了任何程度的伤害,请及时联系我们,我们将在收到通知后第一时间处理该内容。</p>
    <div id="loginbox"></div><script type="text/javascript" src="/skin/images/jquery-1.10.2.min.js"></script>
    <script type="text/javascript" src="/skin/images/login.js"></script>
    <link rel="stylesheet" type="text/css" href="/skin/images/ajaxlogin.css" />
    
    </div>
    <script type="text/javascript" src="/skin/zhann/js/script.js"></script>
    <script src="/skin/zhann/js/zhinajin.js"></script>
    <script src="/skin/zhann/js/yii.js"></script>
    <div id="loginbox"></div><script type="text/javascript" src="/skin/images/jquery-1.10.2.min.js"></script>
    <script type="text/javascript" src="/skin/images/login.js"></script>
    <link rel="stylesheet" type="text/css" href="/skin/images/ajaxlogin.css" />
    </body>
    </html>