内容采集器(Web发布中内容发布之前的版本讲解该功能用法)
优采云 发布时间: 2021-08-30 02:05内容采集器(Web发布中内容发布之前的版本讲解该功能用法)
web发布中发布内容之前的版本总是粘贴发布中捕获的数据,然后软件自动分析表单名称和表单值,但是对于一些特殊要求的发布网站,这个功能是不是很有用。因此,新版本增加了自定义数据发布的新功能,可以更方便地处理一些复杂的网站。
下面介绍自定义数据的作用:
(1)对于网站使用json或其他特殊格式作为post,则可以直接使用自定义数据。
(2)网站 用于不确定数量的表单项。
①比如发布产品时,需要添加发布的图片。如果有多张已发布的图片,则需要添加几个表单项。然后您必须使用自定义数据。发布的图片在采集数据标签中定义。 OK,那么发布模块直接调用标签中的值
②比如发布分类时,有多种颜色,每增加一个颜色都会增加一个表单项,但是当每个产品的颜色数量不固定时,可以使用自定义发布数据来做。 .
还有多种不同的应用场景,基于特定的需求。但是,对于简单的发布,建议使用发布网站本身的发布。这个方法应该比较清楚。
以下以opencart发布商品图片为例,讲解该功能的使用。本教程主要讲自定义发布数据的使用。制作发布模块的方法简单截图如下:
(1)首先我们手动发布一个商品信息,使用fiddler抓包分析发布格式:
这种form-data格式的参数,如果我们现在使用自定义发布,最好使用
application/x-www-form-urlencoded,所以我们可以在发布模块中写一个简单的发布模块,看看application/x-www-form-urlencoded是什么格式:
将post参数直接粘贴到程序中,然后点击解压,因为opencart比较特殊,高级功能中也会生成文件上传,但是这个其实没用,所以我们手动删除
接下来可以在test release后点击save,然后在配置文件中配置address参数,然后test release并使用fiddler抓包得到application/x-www-form-urlencoded格式的post参数,参数格式如下图所示:
(3)已获取post参数格式如下图:
接下来分析图片上传的参数格式:
如上分析,可以看出①是主图上传的参数,②是上传的两张图,所以我们只需要将上传的两张图处理成②中的参数格式即可正确上传多张图纸。现在我们先将post参数填入自定义发布数据中,并定义标签名称。地址中的随机值也被定义为一个全局变量。下一个操作定义在采集规则中:
(3)下面与
以本产品的采集为例介绍如何处理采集规则。本产品的采集需要cookie,所以使用fiddler抓取cookie放入优采云采集器,然后添加采集的标签需要通过发布模块导入采集器:
下面设置需要的标签采集规则,设置下载图片如下图:
产品标题等都是用字符编码处理的,因为使用自定义发布数据时,发布的内容不会被加密,所以需要在采集规则中进行加密:
我们的采集规则应该可以看到主图的结果已经符合格式要求了。我们现在要处理的是图像的格式。对比一下要处理的format和Format
我们捕获的格式是用逗号分隔的,但是我们处理的格式要求每张图片都有递增的序列号,加上一些前缀和后缀进行处理。在这种情况下,我们必须使用C#代码来处理,这里我们提供这个示例代码:
使用系统;
使用 System.采集s.Generic;
使用蜘蛛界面;
类 LocoyCode{
public string Run(string content,ResponseEntry response){
string[] strArray = content.Split(',');
int len=strArray.Length;
字符串t;
content="";
for(int i=0;i{
t=strArray[i];
content=content+"&product_image["+i+"][image]="+t+"&product_image["+i+"][sort_order]=0";
}
返回内容;
}
}
填写C#并运行。
然后你按照你的图片上传的ftp连接,设置好ftp连接方式和对应的目录就可以正确发布了。
教程中使用的示例
注意内容:
(1)使用自定义数据发布时,需要用到更多的知识,具体请参考以下教程
①如何制作发布模块:
②如何使用fiddler:此版本需要熟练使用fiddler
(2)在处理图纸时,这次的例子因为图纸有递增的编号,所以需要使用C#。如果所有图纸的表单项都一样,可以使用循环匹配的方法。没有需要C#。如果你使用C#,可以参考示例C#。如果示例模板不符合你的需求,请自行百度C#。这方面不提供技术答案。
(如果3)标签设置了大段文字,请添加字符编码进行加密
(4)如果发布失败,首先检查你的发布模块是否发布成功,然后检查你构建的代码是否和手动发布的一样
(5)此功能为商业版功能