今天就来谈谈如何使用PHP的Curl采集豆瓣电影信息,为什么要使用PHP而不使用Python呢?其实原因很简单,很多人采集豆瓣电影信息,主要是为了获取豆瓣的评分,在自己的电影网站上使用。而大部分的电影网站都是使用的PHP编写,例如苹果CMS,飞飞影视等。
其实远程采集也非常简单,通过Curl远程采集到页面信息,然后使用PHP的匹配函数匹配我们需要的影片信息,最后将获取的信息转成json报文存储,存储可以使用redis。
第一步:通过Curl远程采集页面信息,首先我们需要使用到一个Curl的封装函数Curl_Get($url,$conf)。第一个参数为需要采集的远程页面地址,我们只要传入豆瓣的电影信息页面,如https://movie.douban.com/subject/30242710/。第二个参数为一个数组,可传入浏览器类型、超时时间等,如无特殊要求可默认。
第二步:根据获取的页面信息,通过使用PHP的preg_match、preg_match_all、str_replace等匹配替换函数,即可获取到我们需要的影片信息,如导演、编剧、主演、评分、评分人数等信息。
第三步:匹配的信息存储在数组中,为了处理方便,我们需要将数组转换为JSON报文,并存储在redis中,这样在使用的时候直接从redis获取即可。