web发布–内容发布–自定义发布数据妙用

Web发布中内容发布之前的版本一直是粘贴发布中抓包的数据,然后软件自动分析表单名与表单值,但是对于一些特殊要求的发布网站,这个功能就不大好用,因此,新版本添加了新的自定义发布数据的功能,可以更方便的处理一些复杂的网站。

web发布--内容发布--自定义发布数据妙用

下面介绍下自定义数据的功能:

(1)对于使用json或者其他特殊格式作为post的网站,那么就可以直接使用自定义数据。

(2)对于一些表单项个数不确定的网站。

①比如发布商品时,有添加发布图片,发布图片有几个那么就需要添加几个表单项,那么就必须要使用自定义数据,发布的图片在数据的标签中就定义好,然后发布模块直接调用该标签中的值

②比如发布分类时,有各种不同的颜色,每增加一种颜色就会增加一个表单项,但是每种产品颜色数量不固定的时候,这时就可以使用自定义发布数据来做。

还有各种不同的应用场景,具体结合需求来做。不过简单的发布还是建议使用发布web本身的发布即可,这种方式要更明确一些。

下面以opencart发布商品图片为例来讲解该功能用法,教程中主要讲自定义发布数据用法,发布模块制作方法就简单截图示意:

(1)首先,我们手动发布一条商品信息,使用fiddler抓包分析下发布格式:

web发布--内容发布--自定义发布数据妙用

web发布--内容发布--自定义发布数据妙用

这种出现的form-data格式的参数,我们现在用自定义发布的话,最好是使用

application/x-www-form-urlencoded,因此我们可以在发布模块中写一个简单的发布模块,看下application/x-www-form-urlencoded这种是什么格式:

web发布--内容发布--自定义发布数据妙用

直接将post参数粘贴在程序中,然后点击提取,因为opencart较特殊,还会在高级功能中产生文件上传,但是这个实际是没有作用的,因此我们手动将他删除掉

web发布--内容发布--自定义发布数据妙用

web发布--内容发布--自定义发布数据妙用

web发布--内容发布--自定义发布数据妙用

接下来,就是测试发布试下得到接下来就可以点击保存,然后在配置文件中配置好地址参数,接下来就是测试发布使用fiddler抓包得到application/x-www-form-urlencoded格式的post参数,参数格式如下图:

web发布--内容发布--自定义发布数据妙用

(3)已经得到post参数格式如下图:

web发布--内容发布--自定义发布数据妙用

接下来就是分析图片上传的参数格式:

web发布--内容发布--自定义发布数据妙用

如上图分析,可以看出,①处是主图上传的参数,②处是上传的两个附图,因此我们只需要将上传的两个附图处理成如②中的参数格式就能正确上传多个附图。现在我们先将post参数填入自定义发布数据中,并定义好标签名称,地址中的随机值也定义为全局变量,接下来的操作就是在采集规则中定义的:

web发布--内容发布--自定义发布数据妙用

(3)下面以

http://www.jammerall.com/products/Desktop-Adjustable-4W-All-5.2G-5.8G-2.4G-WIFI-Jammer-.html,这个产品的采集为例,介绍下怎么处理采集规则,这个产品的采集需要cookie,因此使用fiddler抓取cookie并放入中,然后将需要采集的标签通过发布模块导入采集器中:

web发布--内容发布--自定义发布数据妙用

下面将所需设置的标签采集规则设置好,设置并下载图片后如下图:


web发布--内容发布--自定义发布数据妙用
其中商品标题之类,加了字符编码的处理,因为在使用自定义发布数据的时候,是不会对发布的内容进行加密的,因此我们要在采集规则的时候就加密:

我们采集的规则应该可以看出,主图的结果已经是符合格式要求的了,我们现在要处理的就是附图的格式,我们来对比下,我们现在抓取到的格式以及要处理成的格式

web发布--内容发布--自定义发布数据妙用


我们抓取到的格式是以逗号间隔,但是我们处理的格式是需要每一张图片都有一个递增的序号,并加上一些前缀后缀来处理,这种的话,我们就必须使用C#代码来处理,这边我们提供下这个样板的代码:

using System;
using System.Collections.Generic;
using SpiderInterface;
class LocoyCode{
public string Run(string content,ResponseEntry response){
string[] strArray = content.Split(‘,');
int len=strArray.Length;
string t;
content="";

{
t=strArray[i];
content=content+"&product_image["+i+"][image]="+t+"&product_image["+i+"][sort_order]=0";
}
return content;
}
}

web发布--内容发布--自定义发布数据妙用

填在C# 中运行下就可以。

然后你按照你图片上传的ftp连接,设置下ftp连接方式以及相应的目录就可以正确发布。


教程中使用示例

注意内容:

(1)使用自定义数据发布时,需要用到较多的知识,具体参考下面教程

①发布模块制作方法:http://www.locoy.com/index/video_detail/cat_id/3

②fiddler使用方法:http://faq.locoy.com/q-1129.html,这次的发布需要熟练使用fiddler

(2)在处理附图时,这次的示例因为附图有递增的数字,所以需要使用C#,如果所有附图的表单项都是相同的,那么可以使用循环匹配的方式,不用C#.若是用到C#,可以参考示例C#使用,若是示例模板不能满足你的需求,请自行百度C#用法,这方面不提供技术解答。

(3)标签中设置大段文字的,请加上字符编码加密下

(4)若是发布失败,首先看下你的发布模块是否发布成功,然后就是检查你构造的代码是否跟手动发布的相同

(5)这次功能是商业版本功能


原文地址:http://faq.locoy.com/q-1282.html

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
火车头

采集器自带 发布模块 PHPCMS中全局变量如何填写。

2024-1-22 22:26:00

火车头

下载设置中的自增ID和记录自增ID的区别

2024-1-22 22:26:04

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索