php
header( "Content-type:text/html;Charset=utf-8" );
$ch = curl_init();
$url ="http://www.xinfadi.com.cn/marketanalysis/0/list/1.shtml";
curl_setopt ( $ch , CURLOPT_USERAGENT ,"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36" );
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content=curl_exec($ch);
preg_match_all("/
(.*?)<\\/td> | (.*?)<\\/td> | (.*?)<\\/td> | (.*?)<\\/td> | (.*?)<\\/td> | (.*?)<\\/td> | (.*?)<\\/td>/",$content,$matchs,PREG_SET_ORDER); print_r($matchs);
这样就完成了,主要就是使用正则表达式对页面进行过滤筛选,爬取图片也是一样。 接下来将数据存起来就可以了。
DROP TABLE IF EXISTS `tb_commodity_data`; CREATE TABLE `tb_commodity_data` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT \'数据id\', `name` varchar(50) NOT NULL DEFAULT \'\' COMMENT \'商品名\', `summary` varchar(50) NOT NULL DEFAULT \'\' COMMENT \'规格/产地\', `mini_price` decimal(16,4) unsigned NOT NULL DEFAULT \'0.0000\' COMMENT \'最低价\', `avg_price` decimal(16,4) unsigned NOT NULL DEFAULT \'0.0000\' COMMENT \'平均价\', `max_price` decimal(16,4) unsigned NOT NULL DEFAULT \'0.0000\' COMMENT \'最高价\', `unit` varchar(10) NOT NULL DEFAULT \'\' COMMENT \'商品单位\', `category` varchar(45) NOT NULL DEFAULT \'\' COMMENT \'商品分类\', `release_time` datetime NOT NULL DEFAULT \'0000-00-00 00:00:00\' COMMENT \'发布时间\', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\', `source_from` tinyint(1) NOT NULL DEFAULT \'0\' COMMENT \'0:未知来源 1:新发地\', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT=\'商品数据表\';
php header("Content-Type: text/html;charset=utf-8"); set_time_limit(1000); $host = \'127.0.0.1\'; $username = \'root\'; $password = \'root\'; $database = \'yii2_shop\'; $connect = mysqli_connect($host,$username,$password,$database); $category = [ \'1\'=>\'蔬菜\', \'2\'=>\'水果\', \'3\'=>\'肉禽蛋\', \'4\'=>\'水产\', \'5\'=>\'粮油\', ]; foreach ($category as $key => $value) { $count=0; $pageSize = 20; header( "Content-type:text/html;Charset=utf-8" ); $ch = curl_init(); $url ="http://www.xinfadi.com.cn/marketanalysis/".$key."/list/1.shtml"; curl_setopt ( $ch , CURLOPT_USERAGENT ,"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36" ); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $content=curl_exec($ch); preg_match_all("/(.*?)<\\/em>/",$content,$count,PREG_SET_ORDER);//匹配该表所用的正则 $page = floor($count[0][1]/$pageSize)+1; if($count % $pageSize == 0){ $page = $count/$pageSize; } for ($i=1; $i<= $page; $i++) { // header( "Content-type:text/html;Charset=utf-8" ); $ch = curl_init(); $url ="http://www.xinfadi.com.cn/marketanalysis/".$key."/list/".$i.".shtml"; echo $url.PHP_EOL; curl_setopt ( $ch , CURLOPT_USERAGENT ,"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36" ); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $content=curl_exec($ch); preg_match_all("/(.*?)<\\/td> | (.*?)<\\/td> | (.*?)<\\/td> | (.*?)<\\/td> | (.*?)<\\/td> | (.*?)<\\/td> | (.*?)<\\/td>/",$content,$pageData,PREG_SET_ORDER);//匹配该表所用的正则 foreach ($pageData as $k => $v) { $sql = "insert into tb_commodity_data(name, summary, mini_price, avg_price, max_price, unit,category,release_time, source_from) values(\'".$v[1]."\',\'".$v[5]."\',\'".$v[2]."\',\'".$v[3]."\',\'".$v[4]."\',\'".$v[6]."\',\'".$value."\',\'".$v[7]."\',\'1\');"; mysqli_query($connect,"set names \'utf8\'");//写库 if(!mysqli_query($connect,$sql)){ $sql = "insert into tb_commodity_data(name, summary, mini_price, avg_price, max_price, unit,category,release_time, source_from) values(\'".$v[1]."\',\'".$v[5]."\',\'".str_replace(",", "", $v[2])."\',\'".str_replace(",", "", $v[3])."\',\'".str_replace(",", "", $v[4])."\',\'".$v[6]."\',\'".$value."\',\'".$v[7]."\',\'1\');"; if(!mysqli_query($connect,$sql)){ echo json_encode($v); } } } sleep(0); } sleep(0); } ?>
推荐阅读
-
本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ...
[详细]
蜡笔小新 2023-12-13 12:14:55
-
本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ...
[详细]
蜡笔小新 2023-12-14 18:18:21
-
-
本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ...
[详细]
蜡笔小新 2023-12-12 19:16:21
-
本文介绍了ECMA262规定的typeof操作符对不同类型的变量的返回值,以及instanceof操作符的使用方法。同时还提到了在不同浏览器中对正则表达式应用typeof操作符的返回值的差异。 ...
[详细]
蜡笔小新 2023-12-10 17:31:51
-
文章目录简介HTTP请求过程HTTP状态码含义HTTP头部信息Cookie状态管理HTTP请求方式简介HTTP协议(超文本传输协议)是用于从WWW服务 ...
[详细]
蜡笔小新 2023-10-15 14:59:43
-
本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ...
[详细]
蜡笔小新 2023-12-14 17:06:58
-
本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ...
[详细]
蜡笔小新 2023-12-14 16:44:09
-
导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ...
[详细]
蜡笔小新 2023-12-12 14:34:29
-
本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ...
[详细]
蜡笔小新 2023-12-11 12:37:10
-
本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ...
[详细]
蜡笔小新 2023-12-11 10:46:38
-
本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ...
[详细]
蜡笔小新 2023-12-10 20:09:23
-
loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ...
[详细]
蜡笔小新 2023-10-17 21:26:42
-
为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ...
[详细]
蜡笔小新 2023-10-17 20:18:36
-
在使用豆瓣OAuth登录接口时,我们需要发送这样的HTTPREQUEST请求:GETv2user~meHTTP1.1Host:https:api.douban.com ...
[详细]
蜡笔小新 2023-10-15 13:35:22
-
这个问题发生在重新安装系统后,丢失了之前的privatekey等。所以解决方法就是提示的revokeandrequest。到developercenter中找到certificat ...
[详细]
蜡笔小新 2023-10-15 12:07:56
-
zhaoxiao2012_549
这个家伙很懒,什么也没留下!
| |