PHP头条
热点:

php采集中国代理服务器网的方法


        本文实例讲述了php采集中国代理服务器网的方法。分享给大家供大家参考。具体如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

<?php

/**

* 采集中国代理服务器网 最新列表

*/

class proxy

{

/* 需采集列表 */

public $list;

/* 代理列表 保存路径 */

public $save_path = 'proxy.txt';

/* 获取采集列表 */

function get_list($page)

{

$url = 'http://www.cnproxy.com/proxy(*).html';

// 处理列表

$this->list = preg_replace('/\(\*\)/', $page, $url);

return $this->list;

}

/* 采集代理内容 */

function get($page)

{

$this->get_list($page);

$file = stripslashes(file_get_contents($this->list));

$zz = '/<tr><td>([0-9\.]+)<SCRIPT type=text\/javascript>document\.write\(":"([\+a-z]+)\)<\/SCRIPT><\/td><td>[\w]+<\/td><td>[\w\,]+<\/td>/is';

preg_match_all($zz, $file, $temp);

unset($temp[0]);

$th = array('z', 'm', 'k', 'l', 'd', 'x', 'i', 'w', 'q', 'b');

$th2 = array(3, 4, 2, 9, 0, 5, 7, 6, 8, 1);

foreach ($temp[2] as $k=>$v) {

$v = preg_replace("/[\+]+/", '', $v);

$s = str_replace($th, $th2, $v);

$re .= $temp[1][$k] . ':' . $s . "\r\n";

}

$this->save($re);

return true;

}

/* 保存 */

function save($re)

{

return file_put_contents($this->save_path, $re, FILE_APPEND);

}

/* 读取 */

function read()

{

return file_get_contents($this->save_path);

}

}

// 初始化采集类

$p = new proxy;

$start = 1;

$end = 10;

// 控制

if($_GET['a'] == 'start') {

echo '正在发送采集请求';

echo '<meta http-equiv="Refresh" content="3;URL=?p=1">';

} elseif(isset($_GET['p'])) {

$i = $_GET['p']++;

if($i >= $end+1) {

exit('<meta http-equiv="Refresh" content="0;URL=?a=end">');

} else {

echo '正在请求列表 '. $i .' > '. $end;

if($p->get($i)) {

echo '<meta http-equiv="Refresh" content="3;URL=?p='.$_GET['p']++.'">';

}

}

} elseif($_GET['a'] == 'end') {

echo '采集完毕';

} else {

echo '<form>

<input type="hidden" name="a" value="start" />

<input type="submit" value="开始采集" />

</form>';

}

?>

希望本文所述对大家的php程序设计有所帮助。

www.phpzy.comtrue/php/26645.htmlTechArticlephp采集中国代理服务器网的方法 本文实例讲述了php采集中国代理服务器网的方法。分享给大家供大家参考。具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30...

相关文章

    暂无相关文章

PHP之友评论

今天推荐