백엔드 개발 PHP 튜토리얼 php+R 언어 분석 웹사이트 응답 시간

php+R 언어 분석 웹사이트 응답 시간

Nov 12, 2016 pm 03:28 PM
php

웹 페이지의 특정 콘텐츠를 캡처하는 웹 크롤러를 만듭니다. 예전에 한 선배 대학원생이 작성했는데 선생님이 너무 오래 걸리고 데이터가 수천 개밖에 안 된다고 생각하셔서 이번에는 타당성 조사를 먼저 해보고 싶다고 하셨습니다. R 언어를 사용하여 통계를 작성하세요.

이 실험에는 두 가지 어려움이 있거나 실제로는 하나만 있는데, 그것이 바로 데이터의 표준화된 표현입니다. 나는 이전에 PHP를 사용하여 파일을 읽고 쓴 적이 없었습니다. 이번이 처음입니다. 고려해야 할 것은 파일 읽기 및 쓰기 빈도입니다. 비록 실험일 뿐이지만 여전히 효율성을 고려해야 합니다. 너무 빈번한 파일 읽기 및 쓰기와 너무 많은 시간이 소요되는 디스크 작업은 큰 문제입니다. 그래서 이것을 고려해야합니다. 실제로 이는 데이터 형식, 어떤 형식으로 저장되는지에 대한 문제입니다. 이후의 R 언어 처리 문제를 고려할 필요가 있습니다. R 언어는 일반 텍스트를 처리할 수 있으며 데이터 사이에 쉼표, 심지어 탭과 같은 구분 기호를 사용할 수 있습니다. 따라서 파일의 데이터는 쉼표로 구분됩니다.

먼저 PHP 코드를 붙여넣으세요.
<?php
include ("php_lib/LIB_http.php")
error_reporting(E_ALL^E_NOTICE)
$target ="http ://www.*****";
$ref = "http://www.*****";
$filename = 'sitevisitors.txt';


$first=microtime(get_as_float);
for($n=0;$n<5000;$n++){
$betime=microtime(get_as_float)
$return_arry = http_get_withheader($ target,$ref);
$finidown = microtime(get_as_float);
$resulttime = $finidown - $betime
$count[$n] = $resulttime; [$n]."n";
echo "n".$n;
$fp = fopen("data.txt", "a")//fputs ( $fp, "$count[0]");
for($n=0;$n<5000;$n++){
fputs($fp, "rn".$count[$n]) ;
}
$last=microtime(get_as_float);
$result=$last-$first;
fclose ($fp)
echo "이 테스트 종료"; echo"n 시간은:".$result;
?>

본 사이트 게시가 불편하여 연결 주소와 호스트 주소를 *로 대체하였으니 양해 바랍니다. 프로그램은 먼저 5000개의 요소 배열을 설계한 다음 5000개의 http 요청을 보내고 매번 시간을 기록합니다. http 메시지에 이 시간이 있는 것 같은데 잘 기억이 안나서 microtime() 함수를 사용합니다. 빼기를 하려면 get_as_float 를 추가해야 하고, include("php_lib/LIB_http. php"); 모든 PHP 알림을 차단합니다.

모든 데이터는 data.txt 파일에 기록됩니다. 파일 데이터 형식은 행렬이어야 합니다. 데이터 소스가 하나만 있어도 즉, 각각 하나의 열만 사용합니다. 데이터는 한 줄을 차지하며 연속적으로 쓸 수 없습니다. 예를 들어 1,2,3,4...는 될 수 없지만 다음과 같아야 합니다.
1
2
3
4
...

이렇게 하는 이유는 R 언어 때문입니다. R 언어는 행렬을 읽고 쓰기 때문에 가장 쓰기 편한 방법입니다. 더 좋은 방법일 수도 있지만 모르겠습니다.)

시간을 얻은 후 R 언어 환경을 열고 통계를 수행합니다.
① 데이터 읽기:
data<-read.table("data.txt",header=FALSE, sep=" ,",col.names=c('num'))
② 평균 구하기:
mean(data[,1])
평균(데이터)이 될 수 없습니다. 다음 경고가 나타납니다:
[1] NA
경고 메시지:
mean.default(data): 매개변수가 숫자 값이나 논리 값이 아닙니다: 응답 NA
data[, 1]은 행렬 데이터의 첫 번째 열을 나타냅니다(실제로 여기에는 열이 하나밖에 없지만 이렇게 작성해야 합니다).
③ 산점도를 그리고 싶지만 좌표 정확도가 너무 낮아 구별할 수 없습니다.
c<-data[,1]
mydata<-rbind(c,c )
mydata<-as.data.frame(mydata)
namse(mydata)<-c("x","y")
with(mydata,plot(x,y,pch= 19 ,main="the result"))

그림은 그려지는데 좌표정확도는 소수점 이하 2자리에 불과합니다. 현재 옵션(숫자)을 어떻게 개선할지 연구중입니다. 일하지 않습니다. 생각해 보세요.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

CakePHP 날짜 및 시간

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

CakePHP 프로젝트 구성

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

CakePHP 파일 업로드

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

CakePHP 라우팅

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP 토론

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP 빠른 가이드

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

See all articles