phpcurl抓取网页数据只能抓取基于url协议的数据采集策略
优采云 发布时间: 2022-05-22 02:04phpcurl抓取网页数据只能抓取基于url协议的数据采集策略
phpcurl抓取网页数据只能抓取基于url协议的数据,如何抓取wordpress或facebook类似网站的数据则需要针对不同网站的特点采用不同的爬虫策略及数据采集策略。这些不同的爬虫策略也可以有很多种,但是基本上分为两类:1.静态图片网站爬虫2.动态网站爬虫1.静态图片网站爬虫静态网站爬虫做抓取的前提是要有一定的cookie池,以redis或者memcached等数据库来存储静态页面上的图片信息。
如果没有配置cookie池的话,可以采用phpcrawl实现,apache下也可以采用rewrite来实现。2.动态页面爬虫动态页面爬虫一般是由http的header中提供host参数来识别目标站点,然后切换目标站点来抓取,动态页面一般是以json或xml格式存储页面的数据,爬虫一般需要采用get方式来抓取页面数据,而不是post方式。
下面用一张图来说明:inputlist=text.getline();print(inputlist);从上面的效果图可以看出来,直接post就是在请求图片名称,而http的host参数在一般情况下是不可以指定的,此时需要通过上面的rewrite函数来调用后台服务器发送一个get请求给后台程序。inputlist=text.getline();print(inputlist);rewrite()函数会把页面数据的返回值重定向到相应的响应对象(request对象或者response对象)。
inputlist=text.getline();print(inputlist);所以从上面的效果图可以看出来,get请求和post请求区别在于返回值的不同,get请求返回的是源代码,而post请求返回的是json格式的页面数据。