php爬虫教程(二)数据请求分析

2023-11-15

可以看到这个请求返回的就是整个页面的html,如果我们需要这里的某一个数据就可以通过正则匹配的方式匹配出来/<title>(.*?)<\/title>/ 这样title就被匹配出来了


这是我实际应用的一个代码段仅供参考。

foreach($arr as $v=>$k){
  $str = '';
  $res = $client->get("http://waimai.xxxxx.com/waimai/shop/$v");
  $res = str_replace(array("\r\n", "\r", "\n"), "", $res);
  preg_match_all('/<h3   data-title="(.*?)".*?<span class="sales-count">月售(.*?)份<\/span>/',$res,$arr2);
  unset($arr2[0]);
  for($i=0;$i<count($arr2[1]);$i++){
    $str .= $k.",".$arr2[1][$i].','.$arr2[2][$i]."\n";
  }
  if(empty($str)) echo "error\n";
  $file = fopen("./xxx.txt",'a+');
  fwrite($file,$str);
  fclose($file);
}

总结:很多时候我们抓数据的时候都可以很直观的抓取出来,无论是正则还是json,只要页面上有的东西我们都可以获取出来,然后就可以存储或者走自己的逻辑。

最主要的是我们要知道去请求哪个请求,这个请求有多少个参数都是做什么的,get或者post都需要你分析出来然后通过代码的方式来模拟出来。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php爬虫教程(二)数据请求分析 的相关文章

  • 子目录中的 CakePHP 控制器和模型

    你好 我想知道如何将我的组件和模型放在子目录中 假设我有一个 Web 应用程序 它有 3 个不同的区域 管理员 用户 开发人员 每个区域执行不同的操作并具有完全不同的界面 所以我希望管理员去http www site com admin h
  • 为什么我们要关闭 Mysqli 中的结果

    为什么我们要关闭 result mysqli new mysqli localhost root root test if mysqli gt connect errno echo Failed to connect to MySQL my
  • 在数据库中存储差异的最紧凑方式是什么?

    我想实现类似于维基媒体的修订历史的东西 最好使用的 PHP 函数 库 扩展 算法是什么 我希望差异尽可能紧凑 但我很高兴只能显示每个修订版与其同级修订版之间的差异 并且一次只能回滚一个修订版 在某些情况下 只有几个字符可能会发生变化 而在其
  • 如何使用 JQuery 提取嵌套 HTML 中的文本?

    我这里有 HTML 代码 div class actResult style border solid table tbody tr td Order Number td td 1 td tr tr td Customer Number t
  • Php 会话标头已经发送错误[重复]

    这个问题在这里已经有答案了 可能的重复 php 标头已发送错误 https stackoverflow com questions 3319207 php headers already sent error 我已附上我的代码 该代码用于
  • Doctrine 不会在 MySQL 中生成跨数据库外键约束

    我有两个表 db1 Contact 和 db2 Recipient 每个收件人都应该是联系人 因此我在 db1 Contact ContactID 字段上的两个表之间设置了外键 我在 Recipient php 中使用以下注释表示这一点 O
  • 使用 chr + rand 生成随机字符 (A-Z)

    我使用以下命令生成 A Z 的随机字符 但它偶尔会生成 符号 知道如何防止这种情况吗 也许字符范围不正确 letter chr 64 rand 0 26 用这个就更方便了 大写 letter chr rand 65 90 小写 letter
  • Graph API / FQL 不返回页面的所有事件

    脸书页面 http facebook com getwellgabby events http facebook com getwellgabby events 目前有 8 个活动 我能看到他们 非管理员可以看到它们并可以加入它们 但是 当
  • PHP session_destroy() 警告会话对象销毁失败[重复]

    这个问题在这里已经有答案了 我有这个 php 脚本 但在破坏会话时遇到问题 我收到这个警告 警告 session destroy 会话对象销毁失败 第 6 行 C xampp htdocs template nota finalizare
  • 将 Php 数组编码为 json [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想对我的 php 数组进行编码 A
  • PHP 使用今天的日期生成一个随机数

    我正在尝试为内容块 在网页上 分配一个随机生成的数字 该数字基于今天的日期 无论是什么 和固定数字 由于某种原因 输出的数字种类存在巨大差异 例如 当我在本地测试我的代码时 生成的数字对我来说足够好 正数 但在实际的实时服务器上时 它们通常
  • PHP 5.4 PDO 无法使用旧的不安全身份验证连接到 MySQL 4.1+

    我知道有很多类似的问题 事实上我已经阅读了所有 9 个问题 但是 他们都没有解决我的问题 我有一个共享托管包 最低限度 我的包中包含域名和托管 MySQL 服务器的单独 IP 地址 为了开发 我正在使用http localhost 与 PH
  • 找时间通过 PHP 执行 MySQL 查询

    我在互联网上看到过这个问题 here http www phpbuilder com board showthread php t 2100256 and here http answers yahoo com question index
  • CodeIgniter 控制器构造函数

    我对 codeigniter 很陌生 我想知道控制器中构造函数的含义是什么 我在 codeigniter 教程中看到以下代码 class upload extends CI Controller function construct par
  • 如何在按钮上执行mysql [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions PHP 单击按钮时如何执行 SQL
  • https 重定向 laravel .htaccess 之后删除 /public

    我有一个 Laravel 页面部署在共享主机中 当我强制 http 请求重定向到 https 时 url 包含 public 我的根 htaccess 是 RewriteEngine on RewriteCond REQUEST URI p
  • 带单引号的 XPATH 查询[重复]

    这个问题在这里已经有答案了 有人知道如何解决这个问题吗 单引号让我陷入困境 nodes xml gt xpath item contains catalog Billy s Blogs title 我尝试以各种方式逃避它 但都抛出错误 no
  • 显示带有 id 的内部连接的名称[重复]

    这个问题在这里已经有答案了 我有这个查询 select from countrysegments inner join country on countrysegments country id country id inner join
  • 动态重新定义 PHP 类函数?

    我试图弄清楚如何动态导入大量 PHP 类函数 例如 class Entity public function construct type require once type functions php person new Entity
  • 使用 Laravel Socialite 登录 facebook

    然而 我是 Laravel 的新手 我正在遵循以下教程http www codeanchor net blog complete laravel socialite tutorial http www codeanchor net blog

随机推荐

  • 38.驱动调试——printk

    printk的用法 mz linux ChinaUnix博客 printk函数的用法 wwwlyj123321的博客 CSDN博客 printk 34 Linux printk分析 使用 FILE FUNCTION LINE 调试 诺谦 博
  • freemarker---数字小数点格式化问题

    保留小数的问题问题 http blog sina com cn s blog 7db125620101codn html http blog 163 com sir 876 blog static 117052232012102854524
  • SIM800C模块AT指令编程指南

    SIM800C是一款四频GSM GPRS模块 为城堡孔封装 其性能稳定 外观小巧 能满足客户的多种需求 SIM80C工作频率为GSM GPRS850 900 180 190OMHz 可以低功耗实现语音 SMS和数据信息的传输 SIM800C
  • Java 线程池的submit的使用与分析.md

    在Java5以后 通过Executor来启动线程比用Thread的start 更好 在新特征中 可以很容易控制线程的启动 执行和关闭过程 还能使用线程池的特性 上一篇我们介绍了线程池的基本用法和特性 我们用的最多的是ExecutorServ
  • Springboot的创建步骤

    1 创建Springboot模块 ider gt file gt new gt project gt Spring lnitializr gt 不选择default 默认 gt 选择custom定制网址 http start springb
  • Matlab实现无标度网络生成及其分析

    文章目录 引言 社会网络分类 Barab si Albert无标度网络生成算法 MATLAB代码实现 无向的无标度网络生成代码BAgraph undir 有向的无标度网络生成代码BAgraph dir 无标度网络的节点度统计分析 无向的无标
  • 机器学习常识 3: 分类、回归、聚类

    摘要 本贴描述分类 回归 聚类问题的基本概念 1 基本概念 机器学习常识 2 数据类型从输入数据的角度来进行讨论 这里从输出数据 或者目标的角度来讨论 分类是指将一个样本预测为给定类别之一 也称为该样本打标签 例 1 如果我去向那个女生表白
  • API接口原理实现及应用

    API Application Programming Interface 接口是现代软件开发中不可或缺的一部分 它们提供了一种机制 使得不同的应用程序和服务可以相互通信 共享数据和功能 在这篇文章中 我们将探讨API接口的原理 实现及应用
  • stable diffusion ——img2img Api参数数据格式参考,插件包含ControlNet和roop换脸

    init images resize mode 0 denoising strength 1 0 image cfg scale 1 5 mask mask blur 4 inpainting fill 2 inpaint full res
  • 【SQL】19 SQL函数

    SQL 拥有很多可用于计数和计算的内建函数 SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值 返回一个单一的值 有用的 Aggregate 函数 AVG 返回平均值 COUNT 返回行数 FIRST 返回
  • DataX下载安装使用

    文章目录 01 Clickhouse到HBase Phoenix 数据导入 DataX 介绍 下载 执行同步的组件 配置数据同步 查看官方读写配置样例 创建Hbase和Phoenix表 创建ClickHouse表 写入ClickHouse测
  • 测试经验分享:做一个靠谱的软件测试人员

    何为靠谱 在带新人过程中 交待测试新人测试任务时 都不会忘记交待这样的一句话 这个开发如何如何 比如这个开发代码质量很好 少bug 修改bug也快 比如这个开发编码有点慢 跟任务时多催一下 比如这个开发编码质量不怎么样 bug多 你测试的时
  • 计算机网络系列--TCP 篇

    TCP 是因特网协议栈中运输层 传输层 常用的协议 该协议的全称为 Transmission Control Protocol 传输控制协议 它提供了一种可靠的数据传输 而因特网协议栈中运输层的另一种常用的协议则不提供可靠的数据传输 它在网
  • 消息中间件(一)

    文章目录 消息中间件 什么是中间件 为什么使用MQ 应用场景 JMS和AMQP JMS AMQP JMS和AMQP的区别 消息队列产品 消息中间件 什么是中间件 MQ全称为Message Queue 消息队列是应用程序和应用程序之间的通信方
  • pytorch mm.data.eq(1).nonzero()

    从这里看到 https www codenong com cs105935637 mm torch tensor 1 3 5 1 1 4 1 8 print mm n mm print mm data n mm data print mm
  • Winform 编写一个读取并解析csv的程序

    众所周知 CSV是一种通用的 相对简单的文件格式 被用户 商业和科学广泛应用 所以在制作游戏时 可能会用到CSV来记录各个物品的数据 就像这样 ID Name Description ItemType 01 无机化学 第四版 风靡于各大高校
  • Python---猜拳游戏石头剪刀布

    从控制台输入要出的拳 石头 1 剪刀 2 布 3 电脑 随机 出拳 先假定电脑只会出石头 完成整体代码功能 比较胜负 1 石头 2 剪刀 3 布 import random computer random randint 1 3 playe
  • 【flutter上传图片】

    1 使用multi image picker插件 选择图片 openPhotoSelect int maxImages context async try List
  • STM32外设系列—红外遥控

    文章目录 一 红外遥控简介 二 红外遥控的原理 三 二进制脉冲编码 3 1 NEC码的位定义 3 2 NEC遥控指令的数据格式 四 红外遥控程序设计思路 五 红外遥控程序设计 5 1 红外遥控初始化程序 5 2 记录高电平持续时间函数 5
  • php爬虫教程(二)数据请求分析

    可以看到这个请求返回的就是整个页面的html 如果我们需要这里的某一个数据就可以通过正则匹配的方式匹配出来