关于Virtual Box虚拟机里的系统不能启动的解决方法

当我们的虚拟机在非正常关闭后,再次启动机器时,Virtual Box会出现 Runtime error opening ‘C:\Users\admin\VirtualBox VMs\Windows Server\Windows Server.vbox for reading: -102 (File not found.).提示。

虚拟电脑非正常关闭,造成一些日志无法记录,有可能在下次启动虚拟机的时候无法使用里面的系统,一般会提示找不到一个文件,并告诉你这个文件的路径。你顺着这个路径找下去例如我的就是“’C:\Users\admin\VirtualBox VMs\Windows Server\”这个文件夹下有个Windows Server.vbox-tmp,而虚拟机提示的是缺少Windows Server.vbox这个文件,那么F2重命名把-tmp删掉就行了,重命名后这个文件会显示一个方块的图标。

最后去启动虚拟机里的系统就行了!!!

php爬虫

顺利进入了新公司实习,被安排了一个网页爬虫的任务,从迷茫到成熟,让我收获了很多。因为工作太忙,导致博客延缓了更新,现在就跟大家分享一下最近的收获。

准备工作

1.PHP爬虫采用的是curl拓展,所以首先要确保你的PHP已经安装了curl拓展。查看是否已开启拓展可以

查看phpinfo页面找到curl拓展,查看是否开启。

如果没有开启,使用sudo apt-get install php5-curl 命令进行安装

工作原理

爬虫是指将目标网页保存到指定位置或变量中,使用正则表达式对其进行解析,以得到我们想要的数据。

将解析后的数据存入变量中并输出,完成爬虫。

函数说明

public function crawler_run()                       //爬取网页信息 参数为:返回网页内容存入变量

public function analysis($result)                 //分析爬取数据 参数为:网页内容

if (preg_match(“/正则表达式/”, $str, $matches))   PHP正则表达式使用函数  $str=’匹配字符’,$matches=’结果数组’。

 

public function crawler_run()    {

$url =”www.baidu.com”;//这里的URL可以随意换成你想要爬取的网站地址
$ch = curl_init($url);//curl初始化
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 6.0)”);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($conn[$i],CURLOPT_COOKIE,$cookies);//如果需要登录则加入cookie
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);//设置连接的等待时间
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//禁止调用时就输出获取到的数据
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//// 跳过证书检查 (用来连接https类型的网页)
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//从证书中检查SSL加密算法是否存在(来连接https类型的网页)
$result = curl_exec($ch);//返回的结果就是爬取的网页,你可以把它保存到本地或者直接打印输出,或者用于后续的分析。