PHP jQuery POST 컬렉션 웹 페이지 예
풀어 주다: 2016-07-25 08:47:34
利用JQuery强大的DOM操纵能力来采集页面数据, 然后组织数据以POST的方式发送数据给自身, 自身接收POST来的数据再以CSV格式写入到文件.
声明: 本程序仅作学习和演示之用,请勿频繁采集示例中的网址; 以免给目标网站造成不必要的麻烦! 欢迎大家提出意见
- set_time_limit(0);
- $num = range(0, 49100, 100);
- $base = 'http://www.zjchina.org/mspMajorIndexAction.fo?&startcount=';
- $page = isset($_GET['startcount']) ? $_GET['startcount'] : 0;
- $next_url = $_SERVER['SCRIPT_NAME'].'?startcount='.($page 1);
- if ( !isset($num[$page]) ) { exit('采集完了'); }
- //提交数据
- if ( $_POST && count($_POST) && isset($_POST['send']) ) {
- $send = $_POST['send'];
- $file = dirname(__FILE__).'/data.csv';
- if ( file_exists($file) ) { unset($send[0]); }
- $fp = fopen($file, 'a ');
- foreach($send as $line) { fputcsv($fp, $line); }
- fclose($fp);
- exit(json_encode(array('jump' => $next_url)));
- }
-
- //抓取数据
- $html = file_get_contents($base.$num[$page]);
- $html = str_replace('script', 'pre', $html);
- $html .= '
- $(function(){
- var data = [];
- var url = window.location.href;
- var $tr = $("#A5 table tr");
- $tr.each(function(){
- var tds = [];
- $(this).children("td").each(function(){
- tds.push($(this).text());
- });
- data.push(tds);
- });
- $.post(url, { send: data }, function(ret){
- if ( ret.jump ) {
- window.location.href = ret.jump;
- }
- }, "json");
- });
- ';
- echo $html;
复制代码
|
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31