php抓取网页源码(php抓取网页源码所需要的基础包包括:phpstorm和apache)
优采云 发布时间: 2021-11-25 23:00php抓取网页源码(php抓取网页源码所需要的基础包包括:phpstorm和apache)
php抓取网页源码所需要的基础包包括:phpstorm,curlapache,mysqlweb服务器,一个好的sqlite库nginx后端服务器,不用多说.nginx和apache的区别可以简单理解为nginx是一个中间层,负责把php文件转发给浏览器,apache是一个后端服务器,是处理http请求和响应请求的。
如果你需要进行协议转发,可以选择使用nginx:如果想要进行交互,可以选择使用apache:所以接下来我们分析一下我们要抓取什么网页:我们抓取tomcat项目下的example.php文件的网页。该文件除了一个publicpath/目录,我们将其命名为:example.php,为什么要这样命名呢?因为我们要抓取这个文件的网页。
首先,我们打开浏览器,访问我们自己example项目下的example.php文件地址。然后打开浏览器,访问我们自己example项目下的example.php文件。这时,浏览器就会给我们回应一串认证码,通过了再请求就行。可以看出来在我们一次浏览之后,浏览器会返回这些网页的url地址给服务器,服务器就会把对应的网页返回给我们。
那么我们又该用什么去请求呢?当然是通过前面提到的apache,我们也可以使用nginx,但是当前最优的是nginx+apache。我们知道apache一次只能处理80个并发请求,也就是只能响应80个请求,如果处理的数量很多,那么浏览器就会返回错误,服务器无法响应,最终无法返回完整的网页。而nginx一次可以处理200个并发请求,它处理的数量可以多达几千个,如果我们要处理的数量没有超过1000个,其实nginx+apache不是很好,我们可以选择采用http代理(httpproxy,比如:proxyhost,)用http代理代理我们的目标http请求,使我们的这些请求都通过http代理返回给服务器,然后再让服务器处理,可以发现这样一个问题,就是我们需要自己去创建一个代理。
很多人觉得把这个过程添加到nginx下会特别麻烦,要是没有nginx直接使用http代理的话其实也可以。我们已经抓取了网页,我们可以直接把代理配置起来,当我们在我们的apache下重新访问服务器时,就可以顺利的访问我们的网页了。那我们如何配置呢?最简单的方法,你可以在你的example项目下建立一个console_server,然后就可以把example.php文件写到这个console_server里面,最后发布,这样效果也很好。
我的项目结构是:建立好console_server之后,我们就要创建一个字符串数组:'/example.php',然后就可以使用上述方法连接我们的服务器,服务器就会返回我们连接的结果数组。如果我们可以抓取绝大部分网页的话,其实我们已经可以。