php获取京东列表,1018 获取京东商品列表和网址 20191018 2000-2200

2023-11-08 17:40

本文主要是介绍php获取京东列表,1018 获取京东商品列表和网址 20191018 2000-2200,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

实例

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] . '
';

}

运行实例 »

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

200cfae2888e72f27553cf72979956ad.png

这篇关于php获取京东列表,1018 获取京东商品列表和网址 20191018 2000-2200的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/371448

相关文章

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

python获取当前文件和目录路径的方法详解

《python获取当前文件和目录路径的方法详解》:本文主要介绍Python中获取当前文件路径和目录的方法,包括使用__file__关键字、os.path.abspath、os.path.realp... 目录1、获取当前文件路径2、获取当前文件所在目录3、os.path.abspath和os.path.re

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

c++的初始化列表与const成员

初始化列表与const成员 const成员 使用const修饰的类、结构、联合的成员变量,在类对象创建完成前一定要初始化。 不能在构造函数中初始化const成员,因为执行构造函数时,类对象已经创建完成,只有类对象创建完成才能调用成员函数,构造函数虽然特殊但也是成员函数。 在定义const成员时进行初始化,该语法只有在C11语法标准下才支持。 初始化列表 在构造函数小括号后面,主要用于给

Spring+MyBatis+jeasyui 功能树列表

java代码@EnablePaging@RequestMapping(value = "/queryFunctionList.html")@ResponseBodypublic Map<String, Object> queryFunctionList() {String parentId = "";List<FunctionDisplay> tables = query(parent

Android Environment 获取的路径问题

1. 以获取 /System 路径为例 /*** Return root of the "system" partition holding the core Android OS.* Always present and mounted read-only.*/public static @NonNull File getRootDirectory() {return DIR_ANDR

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

JS和jQuery获取节点的兄弟,父级,子级元素

原文转自http://blog.csdn.net/duanshuyong/article/details/7562423 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比。 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素。 <div id="test"><div></div><div></div