Lcrawl正方教务系统爬虫框架正式发布!

之前一直在写的正方教务系统爬虫框架终于写出了V1.0版本,目前已经实现通过模拟登陆来获取成绩、课表、选课、考试、等级考试、补考、成绩统计等数据的爬取并过滤存储。

一、项目简介

Lcrawl正方教务系统爬虫框架 采用PHP+MySQL 目前已经实现通过模拟登陆来获取成绩、课表、选课、考试、等级考试、补考、成绩统计等数据的爬取并过滤存储。

二、注意事项

1.由于各个学校正方教务系统有所差别,故需要按照具体情况进行微调。但大体情况基本一致。

2. 版本规避:PHP5.3版本以下请删除所有namespace/use关键字。并取消config.php类文件引入注释。

3.确保安装curl扩展.

三、使用方法

项目只有一个入口文件run.php,使用时只需要将本SDK放在项目文件夹内,include这个文件即可,简单清爽。代码内有完整注释信息,可参阅,简单易用。 框架中的index.php为demo文件,使用时参照即可!

———————-2016/07/03更新——————————————

项目已经更新,以上用法作废,具体请查看 GitHub

四、获取源码

项目主页:http://lcrawl.lzjtuhand.com
源码地址:GitHub

“Lcrawl正方教务系统爬虫框架正式发布!”的36个回复

    1. 你看看源码就知道了,一般是匹配隐藏域的时候,由于网络问题,没有成功获取到。
      当然,也有可能是你的教务系统表单隐藏域匹配正则有差别,具体请搜索错误输出,定位至出错行查看源码,然后抓包你的教务系统对比。

  1. 楼主你好,能不能给个具体使用教程啥的..因为新手第一次接触框架类的抓取,楼主描述的使用方法看不太懂!可以吗楼主,原谅小弟新手

  2. 楼主你好,谢谢楼主分享,楼主能不能给一个更易懂的教程啥的,小弟新手,对于框架式的抓取不是很懂,不太会使用楼主的代码,原谅小弟新手

    1. 那个demo文件就是使用的过程…你可以尝试打印下~要是有问题,估计就是教务系统略有差异,再来联系我…

    1. 强智?从没有听过的一个教务系统,你可以发一个连接和测试账号,不管什么教务系统,原理都是一样的.

  3. <?php
    //保存cookies
    $cookie_file = tempnam("tmp","cookie");
    //$cookie_jar = self::$cookie_jar;
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,'http://xuanke.lzjtu.edu.cn/default_ysdx.aspx&#039;);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
    $data = curl_exec($ch);
    curl_close($ch);
    //取出cookies
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,'http://xuanke.lzjtu.edu.cn/default_ysdx.aspx&#039;);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
    $data = curl_exec($ch);
    curl_close($ch);
    $pattern = '//i’;
    preg_match($pattern, $data, $matches);
    $viewstate = urlencode($matches[1]);
    //post提交数据
    $post = “__VIEWSTATE={$viewstate}&TextBox1=201304753&TextBox2=a781128&RadioButtonList1=%D1%A7%C9%FA&Button1=++%B5%C7%C2%BC++”;
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,’http://xuanke.lzjtu.edu.cn/default_ysdx.aspx’);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
    $result=curl_exec($ch);
    curl_close($ch);
    $result=mb_convert_encoding($result, “utf-8”, “gb2312”);
    print_r($result);

    ?>
    为什么显示404 not found?求助。。我看过源代码了不理解,另外我也是交大的。

    1. 新版本的正方?
      我们学校一直都是旧版本,无缘得见新版本的,不知道还是不是一如既往的烂。
      至于能不能支持,这我就不知道了,因为我没见过。
      但是,估计验证码部分需要修改一下。

  4. 你好,我们学校的DZ论坛想开发个网页版的成绩查询课表查询的网站,作为DZ论坛的一部分,请问该如何实现呢?

  5. Fatal error: Trait ‘Lndj\Traits\Parser’ not found in D:\xampp\htdocs\Lcrawl-master\src\Lcrawl.php on line 26

  6. 校园网有VPN,代码放服务器上远程登录不了教务网有办法解决吗?http://jwgl.buct.edu.cn

发表评论

电子邮件地址不会被公开。