找回密码
 立即注册
搜索
查看: 816|回复: 0

[面向对象] phpspider PHP蜘蛛爬虫爬取并处理网页的流程

[复制链接]

581

主题

110

回帖

4066

积分

管理员

积分
4066

众神之神

发表于 2022-1-24 22:16:33 | 显示全部楼层 |阅读模式


on_start($phpspider)
爬虫初始化时调用, 用来指定一些爬取前的操作

@param $phpspider 爬虫对象

========================

on_status_code($status_code, $url, $content, $phpspider)
判断当前网页是否被反爬虫了, 需要开发者实现

@param $status_code 当前网页的请求返回的HTTP状态码
@param $url 当前网页URL
@param $content 当前网页内容
@param $phpspider 爬虫对象
@return $content 返回处理后的网页内容,不处理当前页面请返回false

========================

is_anti_spider($url, $content, $phpspider)
判断当前网页是否被反爬虫了, 需要开发者实现

@param $url 当前网页的url
@param $content 当前网页内容
@param $phpspider 爬虫对象
@return 如果被反爬虫了, 返回true, 否则返回false

========================

on_download_page($page, $phpspider)
在一个网页下载完成之后调用. 主要用来对下载的网页进行处理

@param $page 当前下载的网页页面的对象
@param $phpspider 爬虫对象
@return 返回处理后的网页内容


@param $page['url'] 当前网页的URL
@param $page['raw'] 当前网页的内容
@param $page['request'] 当前网页的请求对象

========================

on_scan_page($page, $content, $phpspider)
在爬取到入口url的内容之后, 添加新的url到待爬队列之前调用. 主要用来发现新的待爬url, 并且能给新发现的url附加数据

@param $page 当前下载的网页页面的对象
@param $content 当前网页内容
@param $phpspider 当前爬虫对象
@return 返回false表示不需要再从此网页中发现待爬url


@param $page['url'] 当前网页的URL
@param $page['raw'] 当前网页的内容
@param $page['request'] 当前网页的请求对象

========================

on_list_page($page, $content, $phpspider)
在爬取到入口url的内容之后, 添加新的url到待爬队列之前调用. 主要用来发现新的待爬url, 并且能给新发现的url附加数据

@param $page 当前下载的网页页面的对象
@param $content 当前网页内容
@param $phpspider 当前爬虫对象
@return 返回false表示不需要再从此网页中发现待爬url


@param $page['url'] 当前网页的URL
@param $page['raw'] 当前网页的内容
@param $page['request'] 当前网页的请求对象

此函数中通过调用$phpspider->add_url($url, $options)函数来添加新的url到待爬队列。

========================

on_content_page($page, $content, $phpspider)
在爬取到入口url的内容之后, 添加新的url到待爬队列之前调用. 主要用来发现新的待爬url, 并且能给新发现的url附加数据

@param $page 当前下载的网页页面的对象
@param $content 当前网页内容
@param $phpspider 当前爬虫对象
@return 返回false表示不需要再从此网页中发现待爬url


@param $page['url'] 当前网页的URL
@param $page['raw'] 当前网页的内容
@param $page['request'] 当前网页的请求对象

此函数中通过调用$phpspider->add_url($url, $options)函数来添加新的url到待爬队列。

========================

on_download_attached_page($content, $phpspider)
在一个网页下载完成之后调用. 主要用来对下载的网页进行处理.

@param $content 当前下载的网页内容
@param $phpspider 爬虫对象
@return 返回处理后的网页内容

========================

on_handle_img($fieldname, $img)
在抽取到field内容之后调用, 对其中包含的img标签进行回调处理

@param $fieldname 当前field的name. 注意: 子field的name会带着父field的name, 通过.连接.
@param $img 整个img标签的内容
@return 返回处理后的img标签的内容

========================

on_extract_field($fieldname, $data, $page)
当一个field的内容被抽取到后进行的回调, 在此回调中可以对网页中抽取的内容作进一步处理

@param $fieldname 当前field的name. 注意: 子field的name会带着父field的name, 通过.连接.
@param $data 当前field抽取到的数据. 如果该field是repeated, data为数组类型, 否则是String
@param $page 当前下载的网页页面的对象
@return 返回处理后的数据, 注意数据类型需要跟传进来的$data类型匹配


@param $page['url'] 当前网页的URL
@param $page['raw'] 当前网页的内容
@param $page['request'] 当前网页的请求对象

========================

on_extract_page($page, $data)
在一个网页的所有field抽取完成之后, 可能需要对field进一步处理, 以发布到自己的网站

@param $page 当前下载的网页页面的对象
@param $data 当前网页抽取出来的所有field的数据
@return 返回处理后的数据, 注意数据类型需要跟传进来的$data类型匹配


@param $page['url'] 当前网页的URL
@param $page['raw'] 当前网页的内容
@param $page['request'] 当前网页的请求对象




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|十三博客 ( 鲁ICP备2023000528号 )

GMT+8, 2026-6-1 18:35 , Processed in 0.075358 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表