HomeLập trìnhPhpSemrush PHP API...

Semrush PHP API – Diễn đàn freeCodeCamp


Tôi đang mã hóa API php SEMrush.com, vì vậy vấn đề là tôi nên duyệt qua tệp đã tải lên chứa ít nhất 3000 trang web để biết lưu lượng truy cập, thông tin cần thiết giống như ảnh đó, vì vậy tôi chỉ cần tìm kiếm không phải trả tiền, vấn đề là tìm kiếm dừng trước nó hoàn thành 3000 trang web như trong bức ảnh đầu tiên đó

và đó là mã của tôi

<?php

set_time_limit(0);
$database = "au";
$key = "api key";
$fname = "results-3.csv";


function getValues($domain,$date="") {
    global $database,$key;
    $keywords = $traffic = 0;
    $url  = "http://api.semrush.com/?type=domain_ranks&key=$key&display_date={$date}&database={$database}&export_columns=Ot&domain=$domain";

    $reply = trim(@file_get_contents($url));

    // "ERROR 50 :: NOTHING FOUND"
    if (strpos($reply,'ERROR ')===0) {
        return $reply;
    }
    elseif(preg_match('#Organic Traffic\s*(\d+)#s',$reply,$m)) {
        return array($m[1]);
    }
}

?><!DOCTYPE html>
<html>
<head>
    <style type="text/css">
        p {
            color: darkslategray;
            margin: 0;
        }

        p.error {
            color: darkgray;
        }

        h3 {
            color: black;
            margin: 1em 0 0.4em 0;
        }
    </style>
</head>
<body>
<?php

// got file 
if(@$_FILES["infile"]["size"] AND @$_POST['date']) {
	$tFile=tempnam("/tmp","dom");
	if(!move_uploaded_file($_FILES["infile"]["tmp_name"],$tFile))
		die("Can not move upload file");
		
	$domains=array_filter(array_map("trim",file($tFile)));	
	$date= date("Ym",strtotime($_POST['date']))."15.";
	
	$csvF=fopen($fname,"wb+");
	if(!$csvF)
		die("Can not open $fname");
	fwrite($csvF, "Domain,$_POST[date] Seo Traffic\n");
		
	foreach($domains as $domain) {
		echo "<h3>$domain</h3>";
		//$today = getValues($domain);
		$reply = getValues($domain,$date);
        if (is_array($reply)) {
            $domainTraffic = $reply[0];
            echo '<p>Ok: ' . $domainTraffic . '</p>';
        } else {
            $domainTraffic="";
            echo "<p class=\"error\">{$reply}</p>";
        }

        fwrite($csvF, "$domain,$domainTraffic\n");

        flush();
	}
	fclose($csvF);
	echo "<h1><a href=$fname target=_blank>Download file</a></h1>";
} else {
    ?>
        <div style="text-align:left;margin-left:20%">
            <form  method="post" enctype="multipart/form-data">
                SE Traffic for  Date entered by user
                <hr>
                Report Date:<input type=text size=12 name=date value="<?php echo date("Y-m-15",strtotime("-10 months"))?>"> (required!)<br>
                File (txt or csv, one domain per line):<input type=file name=infile><br><br>
                <input type=submit value="Start">
            </form>
        </div>
    <?php
}
?>
</body>
</html>


Câu hỏi của bạn hơi khó hiểu bạn ơi, bạn giải thích thêm chút được không?

Mẹo: nếu mã của bạn hoạt động cho một số kết quả và ngừng hoạt động sau một thời gian, thì đây cũng có thể là về việc sử dụng API. ví dụ: API có thể chặn hơn 50 yêu cầu nối tiếp, điều này là có thể.

Đọc thêm  Câu hỏi PHPMailer...Gửi 2 email trong một trường hợp?

Cái này tốt hơn bạn nên hỏi bộ phận hỗ trợ của API bạn đang dùng, họ sẽ hỗ trợ tốt hơn.

Tôi đã chỉnh sửa bài đăng của bạn để dễ đọc. Khi bạn nhập một khối mã vào diễn đàn, hãy đặt trước nó một dòng có ba dấu gạch ngược và theo sau nó là một dòng có ba dấu gạch ngược để dễ đọc hơn. Xem bài đăng này để tìm backtick trên bàn phím của bạn. Công cụ “văn bản được định dạng sẵn” trong trình chỉnh sửa (</>) cũng sẽ thêm dấu ngược xung quanh văn bản.

markdown_Forums

cảm ơn bạn rất nhiều vì câu trả lời của bạn và vâng, bạn đúng về việc đó không phải là vấn đề về mã, nó hoạt động rất tốt nhưng sau khi hiển thị lưu lượng truy cập và tạo từ 1100 trang đến 1300, nó dừng lại vì một số lý do và mã sẽ không hoạt động đúng không?

Vậy đó, nếu mã sai, bạn nên tìm hành vi không mong muốn hoặc lỗi, v.v. nhưng như bạn đã nói, nó sẽ ngừng hoạt động sau một thời gian, bạn nên kiểm tra lỗi cung cấp nrecord/url mà bạn đang xử lý.

Kiểm tra url theo cách thủ công (nếu có thể) để đảm bảo kết quả/đầu ra như mong đợi, đồng thời hỏi bộ phận hỗ trợ về điều đó, có thể họ chặn bạn vì có quá nhiều yêu cầu nối tiếp (công bằng và hợp lý)

Đọc thêm  Gỡ lỗi nhiều người dùng trong PhpStorm

Hãy thử ghi lại những thứ gây ra lỗi, kiểm tra những thứ tại điểm dừng, bạn sẽ tìm ra.

tiếp tục làm tốt công việc, lập trình vui vẻ

tôi đã kiểm tra url nó hoạt động tốt và ngay cả khi nó dừng nó cũng không đưa ra bất kỳ thông báo lỗi nào, điều này chắc chắn là do có nhiều yêu cầu nối tiếp, cảm ơn một lần nữa :smiley:

Điều này cũng có thể do sự cố (ví dụ hết bộ nhớ)! không biết môi trường của bạn là gì, nhưng có thể ngữ cảnh ứng dụng của bạn hết bộ nhớ và gặp sự cố!

Bạn nên kiểm tra tất cả nội dung, yếu tố và các vấn đề có thể xảy ra, nhưng đơn giản, tôi tin rằng việc khắc phục rất dễ dàng.

à, api là semrush và nó nằm trên trang hostgator nên nó không phải là môi trường mà là thứ bộ nhớ mà tôi không có bất kỳ kinh nghiệm nào làm việc với nó và nó là loại bộ nhớ nào

Chà, một khả năng có thể là do bộ nhớ thân yêu. có thể API đang hoạt động mà không có bất kỳ giới hạn nào và máy chủ của bạn là giới hạn duy nhất cho công việc của bạn, nhiều thứ. không thể nói điều gì chắc chắn.

Đọc thêm  Kết nối Php Symfony 5/postgreSQL 13

Cần kiểm tra lại mọi thứ, log, tin nhắn… để chắc chắn còn khả năng sửa chữa.

tôi cũng đọc được rằng trên trang lưu trữ, họ chỉ cho phép 25 phần trăm cpu của máy chủ đối với tôi

Vâng, không chỉ việc sử dụng CPU, bộ nhớ và mạng có thể ngăn cản bạn!

tôi đọc tương tự cho bộ nhớ ram trên trang chủ không biết về mạng

Tôi không chắc, nhưng có thể mức độ công việc này hơi phức tạp đối với bạn (hoặc môi trường của bạn), tôi khuyên bạn nên bắt đầu làm việc với một phần dữ liệu ngay bây giờ (ví dụ: 100 bản ghi đầu tiên) và khi bạn có kinh nghiệm, bạn sẽ tiếp tục cho công việc/tải nặng hơn.

vâng cảm ơn rất nhiều tôi làm điều đó :smiley:



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status