snoopy php网页抓取工具(requiresPHP4Beta4+)$maxframes允许追踪的框架最大)
优采云 发布时间: 2022-01-29 16:00snoopy php网页抓取工具(requiresPHP4Beta4+)$maxframes允许追踪的框架最大)
$error 报告在哪里,如果有的话
$response_code 服务器返回的响应码
从服务器返回的 $headers 标头
$maxlength 最长返回数据长度
$read_timeout 读取超时(需要 PHP 4 Beta 4+)
设置为 0 表示没有超时
$timed_out 如果读取操作超时,此属性返回 true(需要 PHP 4 Beta 4+)
$maxframes 允许跟踪的最大帧数
$status 获取 http 状态
Web 服务器可以写入的临时文件的 $temp_dir 目录 (/tmp)
cURL二进制的$curl_path目录,如果没有cURL二进制则设置为false
以下是demojNU网页模板,帝国cms模板,网站模板免费下载,做网站首选站长魔法
复制代码代码如下:
包括“Snoopy.class.php”;
$snoopy = 新史努比;
$snoopy->proxy_host = "";
$snoopy->proxy_port = "8080";
$snoopy->agent = "(兼容;MSIE 4.01;MSN 2.5;AOL 4.0;Windows 98)";
$snoopy->referer = "";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext(""))
{
回声“
".htmlspecialchars($snoopy->results)."
\n";
}
其他
echo "获取文档时出错:".$snoopy->error."\n";
////////////////////////////////////// //////////
Snoopy 的特点是“大”和“满”,一次 fetch 可以拾取一切,可以作为 采集 的第一步。接下来,您需要使用 simple_html_dom 扣除所需的部分。当然,如果你特别擅长规律,喜欢规律,也可以用规律来搭配抢。
simple_html_dom 实际上是一个 dom 解析过程。 PHP也提供了一些解析方法,不过这个simple_html_dom可以说是比较专业的一个类,满足了很多你想要的功能。
////////////////////////////////////// ///////////
// 使用URL或文件名创建目标文档对象,即目标网页
$html = file_get_html ('' );
//$html = file_get_html('test.htm');
//使用字符串作为登陆页面。可以通过Snoopy获取页面,然后在这里获取处理
$myhtml = str_get_html('jNU网页模板,帝国cms模板,网站模板免费下载,做网站首选站长魔棒
你好! );
// 查找所有图片并返回一个数组
foreach($html->find ('img' ) as $element)
echo $element->src 。 '
' ;
// 查找所有链接
foreach($html->find ('a') as $element)
echo $element->href 。 '
' ;
find 方法效果很好,通常它返回一个对象数组。在查找目标元素时,可以通过class或者id,或者其他属性来获取目标字符串。
//通过目标p的class属性搜索p。 find 方法中的第二个参数是返回数组中的数字。从0开始是第一个
$target_p = $html->find('p.targetclass',0 );
//检查结果是不是你想要的,直接echo就行了
回声 $target_p;
//关键是采集对象创建后一定要销毁,否则php页面可能会“卡”30秒左右,这取决于你服务器的时间限制。销毁的方法是:
$html->clear();
未设置($html);
我觉得simple_html_dom的优势在于采集和JS一样容易控制。下面提供的下载包中有英文说明书
simplehtmldom_1_11/simplehtmldom/manual/manual.htm
jNU网页模板,帝国cms模板,网站模板免费下载,做网站首选站长魔棒
array$e->getAllAttributes()
array$e->attr
string$e->getAttribute($name)
string$e->属性
void$e->setAttribute($name, $value)
void$value = $e->属性
bool$e->hasAttribute($name)
boolisset($e->属性)
void$e->removeAttribute ($name)
void$e->attribute=null
element$e->getElementById ($id)
mixed$e->find ("#$id", 0)
混合$e->getElementsById($id [,$index])
mixed$e->find ("#$id" [, int $index])
element$e->getElementByTagName ($name)
混合$e->查找 ($name, 0)
混合$e->getElementsByTagName ($name [, $index])
混合$e->find ($name [, int $index])
element$e->parentNode()
element$e->parent()
混合$e->childNodes ([$index])
mixed$e->children ([int $index])
element$e->firstChild()
element$e->first_child()
element$e->lastChild()
element$e->last_child ()
element$e->nextSibling()
element$e->next_sibling()
element$e->previousSibling()
element$e->prev_sibling()
jNU网页模板,帝国cms模板,网站模板免费下载,做网站首选站长魔棒
以上是爱站技术频道分享的PHP开发资料采集的深度解析。希望能给大家提供帮助和参考,让大家可以更从容的选择。 jNU网页模板,帝国cms模板,网站模板免费下载,做网站首选站长魔棒
jNU网页模板,帝国cms模板,网站模板免费下载,做网站首选站长魔棒
相关资料:PHP开发中的数据深度分析采集