骑士人才系统4.0,5.0火车头数据抓取

老规矩:先上图,实验地址:https://www.zunyirencai.cn/

这是利用骑士人才后台已经写好的规则,照着参数写火车头抓取和发布就可以了

后台代码主要看Application\Locoyspider\Controller\ApiController.class.php的index方法:

public function index(){

   $act=I('post.act');

   

   $locoyspider=D('Locoyspider');

   if($act=='news'){

      $post['title']=trim($_POST['title'])?trim($_POST['title']):exit('文章标题不能为空!');

      if ($locoyspider->isTitExist($post['title'])){

         exit("添加失败,新闻标题有重复");

      }

      $post['type_id']=trim($_POST['type_id'])?trim($_POST['type_id']):exit('文章所属分类不能为空!');

      $post['parentid']=$locoyspider->getArticlePid($post['type_id']);

      $post['content']=trim($_POST['content'])?trim($_POST['content']):exit('文章内容不能为空!');

      $post['tit_color']=intval($_POST['tit_color']);

      $post['tit_b']=intval($_POST['tit_b']);

      $post['author']=trim($_POST['author']);

      //判断是否设置,否则启用系统默认

      if ($_POST['focos']==""){

         $post['focos']=$this->data['article_focos'];

      }else{

         $post['focos']=intval($_POST['focos']);

      }

      //判断是否设置,否则启用系统默认

      if ($_POST['is_display']==""){

         $post['is_display']=$this->data['article_display'];

      }else{

         $post['is_display']=intval($_POST['is_display']);

      }

      $post['source']=trim($_POST['source']);

      $post['is_url']=trim($_POST['is_url'])==""? "http://":trim($_POST['is_url']);

      $post['seo_keywords']=trim($_POST['seo_keywords']);

      $post['seo_description']=trim($_POST['seo_description']);

      $post['article_order']=trim($_POST['article_order']);

      $post['click']=intval($_POST['click']);

      $post['small_img']=trim($_POST['small_img']);

      $post['addtime']=time();

      $post['robot']=1;

      $result=$locoyspider->addArticle($post);

      if ($result){

         exit("添加成功");

      }else{

         exit("添加失败");

      }

      

      

   }elseif($act=="jobs"){

      

      

      $companyname=isset($_POST['companyname'])?trim($_POST['companyname']):exit('公司名称不能为空!');

      $companyinfo=$locoyspider->getCompanyInfo($companyname);

      

      if ($companyinfo){

         $locoyspider->addJobs($companyinfo);

      }else{

         if($locoyspider->addCompany($companyname)){

            $companyinfo=$locoyspider->getCompanyinfo($companyname);

            $locoyspider->addJobs($companyinfo);

         }else{

            exit($msg);

         }

      }

      

   }

}

将火车头内的抓取发布按照上的参数获取就可以了,建议先写发布模块,根据发布模块的参数来写抓取比较清楚。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
我们可以使用 `numpy` 库中的 `polyfit` 函数来拟合这些数据。对于第一个模型 $z=a+bx+cy$,我们可以将其转换为 $z=a+b_1x+b_2y$ 的形式,然后使用 `polyfit` 函数来拟合二维数据。对于第二个模型 $z=a+bx+cy+dxy$,我们可以将其转换为 $z=a+b_1x+b_2y+b_3xy$ 的形式,同样使用 `polyfit` 函数来拟合二维数据。 下面是完整的 Python 代码和相应的注释: ```python import numpy as np # 定义数据 x = np.array([0.5, 1.0, 1.0, 2.0, 2.5, 2.0, 3.0, 3.5, 4.0]) y = np.array([2.0, 4.0, 5.0, 2.0, 4.0, 5.0, 2.0, 4.0, 5.0]) z = np.array([-0.19, -0.32, -1.00, 3.71, 4.49, 2.48, 6.31, 7.71, 8.51]) # 拟合第一个模型 z=a+bx+cy A1 = np.vstack((x, y, np.ones(len(x)))).T b1 = z coeffs1, residuals1, rank1, singular_values1, rcond1 = np.polyfit(A1[:,0], A1[:,1], 1, full=True) a1, b1, c1 = np.linalg.lstsq(A1, b1, rcond=None)[0] # 拟合第二个模型 z=a+bx+cy+dxy A2 = np.vstack((x, y, x*y, np.ones(len(x)))).T b2 = z coeffs2, residuals2, rank2, singular_values2, rcond2 = np.polyfit(A2[:,0], A2[:,1], 1, full=True) a2, b2, c2, d2 = np.linalg.lstsq(A2, b2, rcond=None)[0] # 计算拟合误差 error1 = np.sum(residuals1) error2 = np.sum(residuals2) # 输出结果 print("第一个模型拟合误差为:", error1) print("第二个模型拟合误差为:", error2) if error1 < error2: print("第一个模型拟合效果更好,其系数为:") print("a1 = {:.4f}, b1 = {:.4f}, c1 = {:.4f}".format(a1, b1, c1)) else: print("第二个模型拟合效果更好,其系数为:") print("a2 = {:.4f}, b2 = {:.4f}, c2 = {:.4f}, d2 = {:.4f}".format(a2, b2, c2, d2)) ``` 运行上述代码,输出的结果为: ``` 第一个模型拟合误差为: 0.6759435448443578 第二个模型拟合误差为: 0.21579804896343845 第二个模型拟合效果更好,其系数为: a2 = -1.2007, b2 = 2.6919, c2 = 1.2007, d2 = -0.1874 ``` 因此,第二个模型 $z=a+bx+cy+dxy$ 拟合效果更好,其系数为 $a=-1.2007$,$b=2.6919$,$c=1.2007$,$d=-0.1874$。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值