问题其实不难,自己都能写。给你几个思路吧:
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了魏县免费建站欢迎大家使用!
1.在百度知道中,输入linux,然后会出现列表。复制浏览器地址栏内容。
然后翻页,在复制地址栏内容,看看有什么不同,不同之处,就是你要循环分页的i值。
当然这个是笨方法。
2.使用php的file或者file_get_contents函数,获取链接URL的内容。
3.通过php正则表达式,获取你需要的3个字段内容。
4.写入数据库。
需要注意的是,百度知道有可能做了防抓取的功能,你刚一抓几个页面,可能会被禁止。
建议也就抓10页数据。
其实不难,你肯定写的出来。 还有,网上应该有很多抓取工具,你找找看,然后将抓下来的数据
在做分析。写入数据库。
电影网站程序:
下载地址:
...................................
同时附送:创佳PHP电影采集程序
此程序为采集程序,可直接在服务器上生成HTM页,访问速度快,并较少受目标站的影响。
功能简介如下:
1.有可以自由编辑的模板,在目录admin下的mb1.htm、mb1.htm、mb1.htm是模板网页,可以自行修改。
2.有"强制更新采集"、"批量自动采集"、"自动调用采集"等三种采集方式,更多详情参见admin/index.htm说明。
3.初次使用时,请先运行admin/auto.php,生成所有的静态网页。
4.本更新程序不设密码,如不希望游客更新,请将admin目录改名(注意:不能移动到别的目录)
5.本采集程序需PHP和ZEND环境(因一般的主机装了PHP就会安装ZEND的)即可,无须数据库支持。
创建一个新cURL资源
设置URL和相应的选项
抓取URL并把它传递给浏览器
关闭cURL资源,并且释放系统资源
代码案例:
这个需要配合js,打开一个html页面,首先js用ajax请求页面,返回第一个页面信息确定处理完毕(ajax有强制同步功能),ajax再访问第二个页面。(或者根据服务器状况,你可以同时提交几个URL,跑几个相同的页面)
参数可以由js产生并传递url,php后台页面根据URL抓页面。然后ajax通过php,在数据库或者是哪里设一个标量,标明检测到哪里。由于前台的html页面执行多少时候都没问题,这样php的内存限制和执行时间限制就解决了。
因为不会浪费大量的资源用一个页面来跑一个瞬间500次的for循环了。(你的500次for循环死了原因可能是获取的数据太多,大过了php限制的内存)
不过印象中curl好像也有强制同步的选项,就是等待一个抓取后再执行下一步。但是这个500次都是用一个页面线程处理,也就是说肯定会远远大于30秒的默认执行时间。
其实用不着这么麻烦的,采集时,你看到的图片路径是相对地址,是相对当前域名的一个相对路径而已,你只要在前面加上
http://当前域名(采集内容的域名,比如zhidao.baidu.com)/
就是它的绝对地址了,
就像/abc.jpg一样
http://当前域名(采集内容的域名,比如zhidao.baidu.com)/abc.jpg就是绝对地址了
没必要搞复杂