如何用正则表达式匹配多行文本
有时候抓取到的目标元素因为排版不正规会出现多行文本的情况,由于多行文本在打印log时会被强制降级为string,所以单从log是看不出来的,有时候还得去查原页面的dom才能发现多行文本。为了避免这种情况,可以使用标记始终将多行文本当作单行文本来匹配。
匹配目标
Download 百度云 链接: https://pan.baidu.com/s/1mi1XKgg 密码: i1ki
如何用正则表达式匹配多行文本
有时候抓取到的目标元素因为排版不正规会出现多行文本的情况,由于多行文本在打印log时会被强制降级为string,所以单从log是看不出来的,有时候还得去查原页面的dom才能发现多行文本。为了避免这种情况,可以使用标记始终将多行文本当作单行文本来匹配。
匹配目标
Download 百度云 链接: https://pan.baidu.com/s/1mi1XKgg 密码: i1ki
解决因为某个元素未加载完毕导致程序中断
由于远程浏览器延迟或等待页面加载等原因,会导致因为找不到元素而使程序异常中断。在php-webdriver里针对这个问题有一个解决方案:Facebook\WebDriver\WebDriverWait
如何使用
use Facebook\WebDriver\WebDriver; use Facebook\WebDriver\WebDriverBy; use Facebook\WebDriver\WebDriverWait; use Facebook\WebDriver\WebDriverExpectedCondition; $wait = new WebDriverWait($driver, 10); $wait_res = $wait->until(WebDriverExpectedCondition::presenceOfAllElementsLocatedBy(WebDriverBy::partialLinkText('pan.baidu.com')));
如何用正则表达式匹配可有可无的元素
目标URL的可能情况
https://www.domain.com/category/cat1 https://www.domain.com/category/cat1/cat2
今天刷到一个视频,关于对一个关注度较高的人的评论,看了看评论,发现了一些有意思的现象
终于花了些时间把Piwik 2.16.3升级到了Matomo 4.8.0,本来是不想升级的,但是不知道什么原因某天整个web系统崩溃了,找不到原因,最后想着升级系统应该就好了,果然升级了系统之后,web系统就恢复了,但是问题是piwik就出现了问题,整个piwik的界面都无法使用。猜测是因为php随着系统升级到了7.4导致piwik出错,随之而来的只有一个办法,就是升级piwik,但是由于已经很多年没有升级过piwik,导致跨的版本太大,预计到会出现各种问题,一直没有下决心升级。最近也不能出门,遂终于还是准备升级到最新版。
官方文档:https://matomo.org/faq/on-premise/update-matomo/#the-manual-three-step-update
数据库非常的大,已经达到了900M,目录直接备份到了另外一台服务器,由于偷懒直接用ftp拷贝,用时一天多,应该用scp会快很多。
从官方下载最新matomo:https://builds.matomo.org/matomo.zip
使用最新文件覆盖piwik的目录
接着进入URL,毫无疑问的报了500
通过tail -f tail -f /var/log/apache2/error.log跟踪发现是php报错
PHP Fatal error: Access level to Piwik\\Plugins\\VisitTime\\Columns\\ServerTime::configureSegments() must be public (as in class Piwik\\Columns\\Dimension) in /var/www/piwik/plugins/VisitTime/Columns/ServerTime.php on line 19