php自动采集数据 PHP数据采集

php 百度 知道数据采集

问题其实不难,自己都能写。给你几个思路吧:

为浏阳等地区用户提供了全套网页设计制作服务,及浏阳网站建设行业解决方案。主营业务为网站建设、网站设计、浏阳网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

1.在百度知道中,输入linux,然后会出现列表。复制浏览器地址栏内容。

然后翻页,在复制地址栏内容,看看有什么不同,不同之处,就是你要循环分页的i值。

当然这个是笨方法。

2.使用php的file或者file_get_contents函数,获取链接URL的内容。

3.通过php正则表达式,获取你需要的3个字段内容。

4.写入数据库。

需要注意的是,百度知道有可能做了防抓取的功能,你刚一抓几个页面,可能会被禁止。

建议也就抓10页数据。

其实不难,你肯定写的出来。 还有,网上应该有很多抓取工具,你找找看,然后将抓下来的数据

在做分析。写入数据库。

用PHP进行数据采集

$strPreg = "|td[^]+([^]+)\/td\s*td[^]+([^]+)\/td\s*td[^]+([^]+)\/td|U";

搞定了才发现你都没悬赏分。。。

php采集数据怎么做啊?

用fopen/file/file_get_contents/curl之类的函数将远程页面获得内容, 采用正则或过滤之类的获得自己所需要的东西, 最好写入相应的数据库保存起来。

php curl 大量数据采集

这个需要配合js,打开一个html页面,首先js用ajax请求页面,返回第一个页面信息确定处理完毕(ajax有强制同步功能),ajax再访问第二个页面。(或者根据服务器状况,你可以同时提交几个URL,跑几个相同的页面)

参数可以由js产生并传递url,php后台页面根据URL抓页面。然后ajax通过php,在数据库或者是哪里设一个标量,标明检测到哪里。由于前台的html页面执行多少时候都没问题,这样php的内存限制和执行时间限制就解决了。

因为不会浪费大量的资源用一个页面来跑一个瞬间500次的for循环了。(你的500次for循环死了原因可能是获取的数据太多,大过了php限制的内存)

不过印象中curl好像也有强制同步的选项,就是等待一个抓取后再执行下一步。但是这个500次都是用一个页面线程处理,也就是说肯定会远远大于30秒的默认执行时间。

怎么用php采集网站数据

简单的分了几个步骤:

1、确定采集目标

2、获取目标远程页面内容(curl、file_get_contents)

3、分析页面html源码,正则匹配你需要的内容(preg_match、preg_match_all),这一步最为重要,不同页面正则匹配规则不一样

4、入库


当前标题:php自动采集数据 PHP数据采集
路径分享:http://csdahua.cn/article/hiceds.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流