好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php通用采集类 php 采集

很多站长朋友们都不太清楚php通用采集类,今天小编就来给大家整理php通用采集类,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 phpcms网站建设中采集的方法,怎么样做采集 2、 PHP snoopy采集类怎样采集我想要的内容 3、 php采集大数据的方案 phpcms网站建设中采集的方法,怎么样做采集

工具/原料

PHPCMS

文章采集器

方法/步骤

1、首先我们需要下载并安装GBK格式的PHPCMS系统。

2、下载PHPCMS和文章采集器的接口文件

3、将jiekou.php文件复制到网站的根目录下,并用记事本打开该文件,修改“密码验证”栏目password处的密码

4、启动文章采集器,先点击【第三步发布内容设置】中的"web发布管理配置"

5、在弹出的【web发布配置管理】窗口中单击右侧的【更多】按钮,导入“phpcms9.wpm”配置模块,并选择该模块

6、设置【web发布配置管理】中的编码设置、登录操作、获取分类栏目等选项

7、单击【测试】按钮,在弹出的【发布配置测试】对话框中设置标签和内容的值,此项为必须设置,否则发布测试文章会失败。至此PHPCMS已经与文章采集器连接成功。

PHP snoopy采集类怎样采集我想要的内容

Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单,可以用来开发一些采集程序和小偷程序,本文章详细介绍snoopy的使用教程。

Snoopy的一些特点:

抓取网页的内容 fetch

抓取网页的文本内容 (去除HTML标签) fetchtext

抓取网页的链接,表单 fetchlinks fetchform

支持代理主机

支持基本的用户名/密码验证

支持设置 user_agent, referer(来路), cookies 和 header content(头文件)

支持浏览器重定向,并能控制重定向深度

能把网页中的链接扩展成高质量的url(默认)

提交数据并且获取返回值

支持跟踪HTML框架

支持重定向的时候传递cookies

要求php4以上就可以了 由于本身是php一个类 无需扩支持 服务器不支持curl时候的最好选择,

Snoopy类方法及示例:

fetch($URI)

这是为了抓取网页的内容而使用的方法。

$URI参数是被抓取网页的URL地址。

抓取的结果被存储在 $this->results 中。

如果你正在抓取的是一个框架,Snoopy将会将每个框架追踪后存入数组中,然后存入 $this->results。

fetchtext($URI)

本方法类似于fetch(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中的文字内容。

fetchform($URI)

本方法类似于fetch(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中表单内容(form)。

fetchlinks($URI)

本方法类似于fetch(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中链接(link)。

默认情况下,相对链接将自动补全,转换成完整的URL。

submit($URI,$formvars)

本方法向$URL指定的链接地址发送确认表单。$formvars是一个存储表单参数的数组。

submittext($URI,$formvars)

本方法类似于submit(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回登陆后网页中的文字内容。

submitlinks($URI)

本方法类似于submit(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中链接(link)。

默认情况下,相对链接将自动补全,转换成完整的URL。

Snoopy采集类属性: (默认值在括号里)

$host 连接的主机

$port 连接的端口

$proxy_host 使用的代理主机,如果有的话

$proxy_port 使用的代理主机端口,如果有的话

$agent 用户代理伪装 (Snoopy v0.1)

$referer 来路信息,如果有的话

$cookies cookies 如果有的话

$rawheaders 其他的头信息, 如果有的话

$maxredirs 最大重定向次数, 0=不允许 (5)

$offsiteok whether or not to allow redirects off-site. (true)

$expandlinks 是否将链接都补全为完整地址 (true)

$user 认证用户名, 如果有的话

$pass 认证用户名, 如果有的话

$accept http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)

$error 哪里报错, 如果有的话

$response_code 从服务器返回的响应代码

$headers 从服务器返回的头信息

$maxlength 最长返回数据长度

$read_timeout 读取操作超时 (requires PHP 4 Beta 4+) 设置为0为没有超时

$timed_out 如果一次读取操作超时了,本属性返回 true (requires PHP 4 Beta 4+)

$maxframes 允许追踪的框架最大数量

$status 抓取的http的状态

$temp_dir 网页服务器能够写入的临时文件目录 (/tmp)

$curl_path cURL binary 的目录, 如果没有cURL binary就设置为 false

php采集大数据的方案

1、建议你读写数据和下载图片分开,各用不同的进程完成。

比如说,取数据用get-data.php,下载图片用get-image.php。

2、多进程的话,php可以简单的用pcntl_fork()。这样可以并发多个子进程。

但是我不建议你用fork,我建议你安装一个gearman worker。这样你要并发几个,就启几个worker,写代码简单,根本不用在代码里考虑thread啊,process等等。

3、综上,解决方案这样:

(1)安装gearman worker。

(2)写一个get-data.php,在crontab里设置它每5分钟执行一次,只负责读数据,然后把读回来的数据一条一条的扔到 gearman worker的队列里;

然后再写一个处理数据的脚本作为worker,例如叫process-data.php,这个脚本常驻内存。它作为worker从geraman 队列里读出一条一条的数据,然后跟你的数据库老数据比较,进行你的业务逻辑。如果你要10个并发,那就启动10个process-data.php好了。处理完后,如果图片地址有变动需要下载图片,就把图片地址扔到 gearman worker的另一个队列里。

(3)再写一个download-data.php,作为下载图片的worker,同样,你启动10个20个并发随便你。这个进程也常驻内存运行,从gearman worker的图片数据队列里取数据出来,下载图片

4、常驻进程的话,就是在代码里写个while(true)死循环,让它一直运行好了。如果怕内存泄露啥的,你可以每循环10万次退出一下。然后在crontab里设置,每分钟检查一下进程有没有启动,比如说这样启动3个process-data worker进程:

* * * * * flock -xn /tmp/process-data.1.lock -c '/usr/bin/php /process-data.php >> /dev/null 2>1'

* * * * * flock -xn /tmp/process-data.2.lock -c '/usr/bin/php /process-data.php >> /dev/null 2>1'

* * * * * flock -xn /tmp/process-data.3.lock -c '/usr/bin/php /process-data.php >> /dev/null 2>1'

不知道你明白了没有

关于php通用采集类的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php通用采集类 php 采集的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did210073
更新时间:2023-05-03   阅读:30次

上一篇: 包含phpiniscan的词条

下一篇:m魔术方法PHP py 魔术方法

相关资讯

最新资料更新

  • 1.zendphp环境包 win环境包
  • 2.php技术都有什么 php技术
  • 3.phpurl链接解析 php解析url
  • 4.php变下载文件 php 下载文件
  • 5.如何知道php密码 php确认密码
  • 6.vip影院php后台版 vip影视电视剧电影
  • 7.jq读取php变量 php读取html内容
  • 8.php安全验证 php安全问题
  • 9.怎php计算学生成绩 php输入成绩判断成绩等级
  • 10.php加密数据用js解密 php加密 js解密
  • 11.php微信推送提醒 php主动推送消息到安卓
  • 12.php生成缓存图片 php缓存机制有哪些
  • 13.修改php网页链接 怎么修改php网页
  • 14.php数组冒泡排序 php冒泡排序面试题
  • 15.phphtml补全 html自动补全代码
  • 16.phphuoqv多选 php选择语句
  • 17.怎么改变php版本 php版本可以随便更换吗
  • 18.下载并安装php 下载并安装央视网
  • 19.php用户检索记录系统 php搜索数据库
  • 20.php每天更新数据 php数据库更新语句

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]