关于使用PHP网站作采集用途的看法(其一)

news/2024/5/17 8:33:22/文章来源:https://blog.csdn.net/qq_21264377/article/details/104926283

记得几年前,“我”还是有点洞察力的“萌新”,曾有人建议“我”为网站修改“自动采集”功能。这的确是一个很好的想法,不需要额外的编程语言和IDE工具,自动增加网站内容的同时,还能为网站编辑减轻不少负担并提高编辑的创作空间和自由。同时也凸显网站“高大上”的形象:智能化。听起来多么美好......“我”考虑几秒就否决该美好的提议。

为何?

事实上,很可能,很多主流网站都具备自动采集的功能。但是,使用PHP网站作为采集用途真的妥当?!

我们知道,动态网页是在服务器上执行,执行完成后将结果反馈给客户端浏览器。也就是说动态网页消耗服务器的硬件和软件资源。换句话说,如果使用PHP网站采集功能,PHP采集执行影响服务器性能,占用服务器CPU时间片。下面来进行一个简单的采集测试。这是一个包含20多个页面的图集。每个页面包含多张图片,一张目标高清图片。目标计划为:使用PHP代码通过网络识别采集每一个页面,并提取目标图片,下载保存该图片。测试环境为Windows10+PHP7.x+Apache2.4.x,相关PHP library库为cURL。本地硬件为多核主机,网络带宽10-20Mbps。以下为测试一中的系统负载图示。

测试一:就绪状态
测试一:进行中
测试一:结束
AIDA64显示的负载状态

从以上图示可以看出,该采集活动持续达到156秒!远超过60秒的时间!采集执行期间,CPU负载大部分处于“较低”水平,大概在单核3%-10%的占用率。这是服务器和客户端都在同一主机环境中的情况。另外在同一浏览器中,开启两个页面同时进行采集,发现第二个页面长时间无应答,处于等待状态。

需要特别注意的是,整个采集活动中,仅仅涉及的是普通的网络和本地文件IO的问题,没有包含数据库读写相关动作。

由此可见,PHP在采集方面,时间效率是一个需要谨慎对待的问题。在Apache、Nginx等CGI Server软件当中,往往默认设置页面最大响应时间。这个时间一般是60秒。单个页面如果在指定时间内没有响应,则被判定为超时,进而被服务器软件停止提供Web服务,终止执行进程。实际应用中,采集活动还需要将数据保存至数据库。除了涉及数据库优化问题,还有数据勘误和安全问题。因为机器自动采集到的数据不一定完全符合预期要求,或者不是期望采集的目标数据。

正如之前所说,虽然诸多限制,PHP网站上的采集功能还是具有较大的吸引力。毕竟这能或多或少提高工作效率不是?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_794514.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python + Selenium:自动翻页爬取某图片网站指定图集

简单来说,爬取工作前期任务是了解目标网站的体系结构和“反爬策略”,然后是根据现有软硬件资源环境条件设计代码,反复迭代测试,最终实施部署。 之前,写过爬取图片网站的PHP和Python代码spi之类,通过读取HT…

Python + Selenium: 爬取某社交门户网站新闻栏目焦点

以前通过直接获取的HTML文本内容分析过,但是明显毫无结果。彼时深切体会到要想测试爬取“普通”反爬虫策略级别以上的网站内容,必须从浏览器内核级别入手。因为只有彻底模拟浏览器的行为,才无法被机器人100%识别为爬虫而遭到限制或拒绝服务。…

多层次应对HTTPS网站超时:selenium.common.exceptions.TimeoutException

现在网络越来越普及,带宽速度普遍也有较大提升。伴随网络的普及,同时快速增长的还有网民的数量和网络流量。网站超时响应的“通病”,仍然是无法完全避免的。尤其是在网络流量高峰期访问HTTPS网站,使用类似Selenium的浏览器内核驱动…

阿里云轻量服务器部署PHP网站(基于Lamp)

一:首先登陆阿里云账户购买轻量服务器(这里就不详细介绍啦)【轻量服务器会提供PHP,Apache,Mysql,不需要我们自己安装,方便很多】 如果是选择阿里云ecs服务器的话可以参考:https://blog.csdn.net/qiaosym/article/deta…

[转载]使用IntelliJ IDEA开发SpringMVC网站(一)开发环境

访问GitHub下载最新源码:https://github.com/gaussic/Sp... 文章已针对IDEA 2016做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码。另外:文中的附图部分仍然为旧版本,请参照自身版本进行配置。 前言 由…

ASP.NET 2.0中轻松实现网站换肤

: 查看个人网站 查看详细资料 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xh…

JQuery 的跨域方法 可跨任意网站

因发现有不少博友发园内短信问及JS的跨域问题,我想很多程序员的脑海里面还认为JS是不能跨域的,其实这是一个错误的观点;有很多人在网上找其解决方法,教其用IFRAME去解决的文章很多,真有那么复杂吗?其实很简…

推荐一个可以往blog里面加入旅行线路图的travel map网站

今天无意中发现这个网站,Free Travel Map Widget,可以很方便的做一个travel map,然后生成html代码放到blog里面。效果可以看看我之前的泰国和欧洲的blog更新,加了map。转载于:https://www.cnblogs.com/fresky/archive/2010/11/03/…

高性能网站建设之减少Http连接数

关于CSS背景图合并工具,请大家参看随笔:Css背景图合并工具功能增强(V0.1) 在对大访问量网站进行性能优化时,其中有一点是尽量减少http连接数,道理很明了,减少了单个PV的http连接数,…

通过脚本方式导出SharePoint网站集用户及其角色列表

这是课堂上的一个例子,分享出来给大家参考用。如果你管理一个或者多个网站集,那么这个脚本将有助于你快速地了解用户信息。 管理员们,懂点脚本还是很有用的哦,呵呵 将下面的脚本保存为一个ps1文件function Get-UsersWebPermission…

php与mysql网站开发..._Mysql 与 php动态网站开发 入门教程,mysql网站开发_PHP教程...

Mysql 与 php动态网站开发 入门教程,mysql网站开发这个系列的教程由表单开始写,因为表单可以把数据库和web 之间的交互表现得很明显。提交表单 ,数据库记录注册信息。本教程属于基础教程。大神请略过。对于php和mysql之间的稳固性很受程序员的…

linode服务器登录网站,linode 服务器

linode 服务器 内容精选换一换云服务器组是对云服务器的一种逻辑划分,云服务器组中的弹性云服务器遵从同一策略。当前仅支持反亲和性,即同一云服务器组中的弹性云服务器分散地创建在不同的主机上,提高业务的可靠性。您可以使用云服务器组将业…

黑人抬棺html网站源码

黑人抬棺html源码 成品地址:https://www.52fenxiang.top/hrtg/ 源码下载地址:https://www.52fenxiang.top/thread-448-1-1.html

用DIV+CSS的网页布局对SEO的好处

为什么80%的码农都做不了架构师?>>> DIVCSS是网站标准(或称“WEB标准”)中常用术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中&a…

最新70佳单页网站设计案例欣赏(下篇)

单页网站是指只有一个页面的网站,这种形式的网站曾经非常流行,现在依然有很多人喜欢。不过,并不是每个网站都适合做成单页,一般都是内容比较少而且将来内容也不怎么增加的情况才适合这样做。如果你打算做一个这样的网站&#xff0…

在线压缩图片网站源码

今天分享给小伙伴一份在线压缩图片的网站源码,也算是比较实用的一份源码,测试地址我会贴在【效果展示】段落下面,喜欢的小伙伴自行下载吧。 #效果展示 效果展示:图片在线压缩效果展示 来自:12580code源码站

表白网站源码-html源码

#源码介绍 一份表白网站源码,里面用到的一些小技巧还是可以学习的,需要用的的小伙伴可以拿去用哈,下载完成后打开index.html,然后修改文本和修改图片就可以啦,小二在这祝你们成功哦(哈哈哈哈哈哈&#xff0…

对SEO优化有一定作用的DIV+CSS命名规则

为什么80%的码农都做不了架构师?>>> SEO(搜索引擎优化)有很多工作要做,其中对代码的优化是一个很关键的步骤。为了更加符合SEO的规范,下面中部IT网将对目前流行的CSSDIV的命名规则整理如下: 页头:header 登录条:login…

CJC(一): ToStringBuilder两种方法用法优缺点及一个问题 - rmn190 - ITeye技术网站

CJC(一): ToStringBuilder两种方法用法优缺点及一个问题 - rmn190 - ITeye技术网站CJC(一): ToStringBuilder两种方法用法优缺点及一个问题 博客分类:Source Codes Study设计模式F#Security CJC是Common Java Cookbook的缩写, 这是一本介绍ApacheCommon开源项目的电…

大型网站架构演变的知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么…