如何测试运行php,如何进行运行前测试?

本文详细介绍了如何在运行PHPSpider前进行准备工作,包括登录验证测试和内容提取规则测试。以epooll网站为例,展示了如何获取HTML内容、提取文章标题和作者,并提供了入库的完整示例。内容提取测试中,通过选择器规则抽取文章标题、作者和内容,为后续爬虫框架的配置和运行奠定了基础。
摘要由CSDN通过智能技术生成

# 如何进行运行前测试?

# 如何进行运行前测试?

> 在运行爬虫框架前,我们可能需要做很多准备工作

> 比如:登录验证测试、内容提取规则测试

> 这个时候我们就可以把PHPSpider当做类库来使用,获取单页面HTML并测试提取规则

## `内容提取测试`

接下来我们以epooll这个站点的谋篇文章为例来演示内容提取方法

#### 获取HTML内容

```

$url = "http://www.epooll.com/archives/806/";

$html = requests::get($url);

```

#### 提取文章标题

```

// 选择器规则

$selector = "//div[contains(@class,'page-header')]//h1/a";

// 提取结果

$result = selector::select($html, $selector);

echo $result;

```

#### 提取文章作者

```

$selector = "//div[contains(@class,'page-header')]//h6/span[1]";

$result = selector::select($html, $selector);

// 处理数据

$result = str_replace("作者:", "", $result);

echo $result;

```

#### 提取文章入库完整示例

```

$url = "http://www.epooll.com/archives/806/";

$html = requests::get($url);

// 抽取文章标题

$selector = "//div[contains(@class,'page-header')]//h1/a";

$title = selector::select($html, $selector);

// 检查是否抽取到标题

//echo $title;exit;

// 抽取文章作者

$selector = "//div[contains(@class,'page-header')]//h6/span[1]";

$author = selector::select($html, $selector);

// 检查是否抽取到作者

//echo $author;exit;

// 去掉 作者:

$author = str_replace("作者:", "", $author);

// 抽取文章内容

$selector = "//div[contains(@class,'entry-content')]";

$content = selector::select($html, $selector);

// 检查是否抽取到内容

//echo $author;exit;

$data = array(

'title' => $title,

'author' => $author,

'content' => $content,

);

// 查看数据是否正常

//print_r($data);

// 入库

db::insert("content", $data);

```

#### 运行PHPSpider

通过上面的测试,我们就找出了文章内容页的`field`规则,配置到`fields`,然后调用PHPSpider

```

'fields' => array(

// 文章标题

array(

'name' => "article_title",

'selector' => "//div[contains(@class,'page-header')]//h1/a",

'required' => true,

),

// 文章作者

array(

'name' => "article_author",

'selector' => "//div[contains(@class,'page-header')]//h6/span[1]",

'required' => true,

),

// 文章内容

array(

'name' => "article_content",

'selector' => "//div[contains(@class,'entry-content')]",

'required' => true,

),

)

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值