如何在卷中使用get_html函数

介绍

本篇文章给大家分享的是有关如何在卷中使用get_html函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<强>大致大纲:

1.卷曲数据采集系列之单页面采集函数get_html

2.卷曲数据采集系列之多页面并行采集函数get_htmls

3。卷曲数据采集系列之正则处理函数得到_matches

4.卷曲数据采集系列之代码分离

5。卷曲数据采集系列之并行逻辑控制函数web_spider


单页面采集在数据采集过程中是最常用的一个功能有时在服务器访问限制的情况下只能使用这种采集方式慢但是可以简单的控制所以写好一个常用的旋度函数调用是很重要的

百度和网易比较熟悉所以拿这两个网站首页采集来做例子讲解


<强>最简单的写法:

代码如下:


$ url=& # 39; http://www.baidu.com& # 39;;
, ch=curl_init美元($ url);
, curl_setopt (ch美元,CURLOPT_RETURNTRANSFER,真的);
, curl_setopt (ch美元CURLOPT_TIMEOUT 5);
, $ html=curl_exec (ch);
,如果($ html !==false) {
,,,,echo $ html;
,}


由于使用频繁可以利用curl_setopt_array写成函数的形式:

代码如下:


函数get_html (url,选择美元=array ()) {
,,,,选择美元[CURLOPT_RETURNTRANSFER]=true;
,,,,选择[CURLOPT_TIMEOUT]=5美元;
,,,,ch=curl_init美元($ url);
,,,,curl_setopt_array (ch,选择美元);
,,,,(html=curl_exec美元ch);
,,,,curl_close (ch);
,,,,如果html===false) ($ {
,,,,,,,,返回false;
,,,,}
,,,,返回html美元;
,}

代码如下:


$ url=& # 39; http://www.baidu.com& # 39;;
回声get_html ($ url);


有时候需要传递一些特定的参数才能得到正确的页面如现在要得到网易的页面:

代码如下:


$ url=& # 39; http://www.163.com& # 39;;
回声get_html ($ url);


会看到一片空白什么也没有那么再利用curl_getinfo写一个函数看看发生了什么:

代码如下:


函数get_info (url,选择美元=array ()) {
,,,,选择美元[CURLOPT_RETURNTRANSFER]=true;
,,,,选择[CURLOPT_TIMEOUT]=5美元;
,,,,ch=curl_init美元($ url);
,,,,curl_setopt_array (ch,选择美元);
,,,,(html=curl_exec美元ch);
,,,,(信息=curl_getinfo美元ch);
,,,,curl_close (ch);
,,,,返回信息美元;
,}
, $ url=& # 39; http://www.163.com& # 39;;
, var_dump (get_info (url)美元);

如何在卷中使用get_html函数

可以看到http_code  302年,重定向了,这时候就需要传递一些参数了:

代码如下:


$ url=& # 39; http://www.163.com& # 39;;
选择美元[CURLOPT_FOLLOWLOCATION]=true;
回声get_html (url,选择美元);

如何在卷中使用get_html函数

会发现,怎么是这样的一个页面,和我们电脑访问的不同? ? ?

看来参数还是不够,不够服务器判断我们的客户端是什么设备上的,就返回了个普通版

看来还要传送USERAGENT

代码如下:


$ url=& # 39; http://www.163.com& # 39;;
,选择美元[CURLOPT_FOLLOWLOCATION]=true;
,选择美元[CURLOPT_USERAGENT]=& # 39; Mozilla/5.0 (Windows NT 6.1;房车:19.0)壁虎Firefox/20100101/19.0 & # 39;;
,回声get_html (url,选择美元);

如何在卷中使用get_html函数

好现在页面已经出来了,这样基本这个get_html函数基本能实现这样扩展的功能

当然也有另外的办法可以实现,当你明确的知道网易的网页的时候就可以简单采集了:

代码如下:


, $ url=& # 39; http://www.163.com/index.html& # 39;;
,回声get_html ($ url);


这样也可以正常的采集

以上就是如何在卷中使用get_html函数,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

如何在卷中使用get_html函数