Blogger Information
Blog 28
fans 0
comment 0
visits 19641
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1018 获取京东商品列表和网址 20191018 2000-2200
没有人的夏天的博客
Original
665 people have browsed it

用php抓取页面,用正则表达式 获取信息,整理到数组中

// 1.抓取目标网站分析,通过 f12 分析加截的js文件及 DOM结构里寻找 信息列表,通常是json数据格式,包括 api接口文件,js文件,以及script 标签中保存的json数据。  

// 2. 直接抓取html文档,通过 css 标签 分析数据格式,用正则表达式过滤目标信息,并进行目标数据整理,包括 标签,标题,内容,图片,链接等信息,

// 3 整理获取到的字符串,

实例

<!-- 用正则表达式,获取 目标网站的列表 -->
<?php

header("Content-Type: text/html;charset=utf8");

$url = 'https://www.jd.com/';

$ch = curl_init();                          
// 创建一个新cURL资源
curl_setopt($ch, CURLOPT_URL, $url);        
// 设置URL
curl_setopt($ch, CURLOPT_TIMEOUT, 30);      
// 设置超时限制防止死循环
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
// 爬取重定向页面
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);   
// 自动设置Referer,防止盗链
// curl_setopt($ch, CURLOPT_POST, 1);          
// 发送一个常规的Post请求
// curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
// Post提交的数据包
curl_setopt($ch, CURLOPT_HEADER, 0);        
// 显示返回的Header区域内容
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
// 要求结果保存到字符串中还是输出到屏幕上
// 禁用SSL证书的验证,就可以解决HTPPS获取不到的问题
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
// 对认证证书来源的检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
// 从证书中检查SSL加密算法是否存在
// curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); 
// 默认值,让 cURL 自己判断使用哪个版本。 (强制使用 HTTP/1.1)。
// curl_setopt($ch, CURLOPT_USERAGENT, 'Data'); 
// 在HTTP请求中包含一个"User-Agent: "头的字符串。

$html = curl_exec($ch);                     
// 运行cURL,请求URL,把结果复制给变量
if (curl_errno($ch)) {
    echo 'Errno' . curl_error($curl);         
    //捕抓异常  
}
curl_close($ch);                            
// 关闭cURL连接


// 用正则表达式 匹配cate_menu_lk 开头的 信息到数组
$pattem = '/(cate_menu_lk)(.*)(?)/';
preg_match_all($pattem, $html, $match);

// 整理获取到的字符串,
foreach ($match[2] as $v) {
    //  获取/后面的内容
    $v = strstr($v, '/');
    //  去掉 /
    $v = ltrim($v, '/');
    //  用"> 分割字符串
    $v = explode('">', $v);
    echo '商品名称:' . $v[1] . '网址:' . $v[0] . '<br>';
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

image.png

Correction status:qualified

Teacher's comments:写得很认真, 望坚持下去
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post