免规则采集器列表算法(优采云采集器怎么制作织梦CMS免登陆发布模块?发布)

优采云 发布时间: 2021-10-23 00:25

  免规则采集器列表算法(优采云采集器怎么制作织梦CMS免登陆发布模块?发布)

  使用优采云采集器采集完成的数据通常用于发布到网站,这些网站一般使用织梦cms或帝国 cms 制作。下面是通过本教程的简要介绍。优采云采集器如何制作织梦cms免登录发布模块?

  WEB发布模块,即网站后台手动发布内容的全过程,包括登录网站后台、选择栏目、发布文章@ >. 这些步骤写在采集器里面,模拟发布,这就是WEB发布模块。然后将规则采集的值通过标签名传递给在线发布模块,将数据提交给网站。在菜单栏上,单击 Web 发布配置,然后单击 + 新建发布模块。

  

  网站自动登录:设置网站登录信息数据获取栏目列表:设置发布栏目列表

  随机访问网页:在post数据中设置随机值

  内容发布参数:设置发布页面的POST数据包

  高级功能:文件上传设置和数据结构

  我们以dedecms的文章@>发布为例来说明

  (1)第二步,“WEB发布设置界面”和“内容发布参数”设置

  我们在发布页面填写需要发布的字段值(先不要点击发布),然后打开fiddler(注意,如果有乱七八糟的数据流,请用ctlr+X清除数据流)

  如图,填写标题,来源,选择栏目,内容:

  

  清除数据流后ctlr+X fiddler

  

  此时点击Publish,分析fiddler中的数据包,点击fiddler①➯②,然后点击数据流列表⑤找到POST类型的数据流⑥,然后点击⑦以文本形式查看

  

  数据包贴出如下:

  POST http://127.0.0.1:801/dede/dede/article_add.php HTTP/1.1

Host: 127.0.0.1:801

Connection: keep-alive

Content-Length: 3571

Cache-Control: max-age=0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Origin: http://127.0.0.1:801

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36

Content-Type: multipart/form-data; boundary=----WebKitFormBoundary6EWX666GAXOVqWCE

Referer: http://127.0.0.1:801/dede/dede/article_add.php?channelid=1&cid=0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,zh;q=0.8

Cookie: menuitems=1_1%2C2_1%2C3_1; PHPSESSID=f21a42f70199c81955f3219623343735; DedeUserID=1; DedeUserID__ckMd5=91a12e3e1eae3a4d; DedeLoginTime=1444806848; DedeLoginTime__ckMd5=65d5fa4845a7ec00; ENV_GOBACK_URL=%2Fdede%2Fdede%2Fcontent_list.php%3Fchannelid%3D1

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="channelid"

1

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="dopost"

save

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="title"

11111

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="shorttitle"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="redirecturl"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="tags"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="weight"

99

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="picname"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="litpic"; filename=""

Content-Type: application/octet-stream

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="source"

22222

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="writer"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="typeid"

2

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="typeid2"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="keywords"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="autokey"

1

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="description"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="dede_addonfields"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="remote"

1

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="autolitpic"

1

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="needwatermark"

1

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="sptype"

hand

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="spsize"

5

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="body"

222222222222222

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="voteid"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="notpost"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="click"

137

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="sortup"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="color"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="arcrank"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="money"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="pubdate"

2015-10-14 15:16:06

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="ishtml"

1

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="filename"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="templet"

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="imageField.x"

37

------WebKitFormBoundary6EWX666GAXOVqWCE

Content-Disposition: form-data; name="imageField.y"

18

------WebKitFormBoundary6EWX666GAXOVqWCE--

  一、设置WEB发布配置界面

  根据上面的数据包:网站 编码为:utf-8(可以在你的网站上右键查看源码,找到charset字段的值,具体取决于编码)

  网站地址为:801/dede(网站地址可以根据POST和Referer字段自定义。一般我们使用网站域名作为网站地址,或者你可以找到其他 2 设置的共同部分是 网站 地址。)

  cookie 为:menuitems=1_1%2C2_1%2C3_1;PHPSESSID=f21a42f70199c81955f32; DedeUserID=1; DedeUserID__ckMd5=91a12e3e1eae3a4d; DedeLoginlistTime=1444806848; DedeLoginTime__ckMd5=65d5_fa4845a7ecde 内容

  用户代理是: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36

  

  接下来,我们正在设置“内容发布参数”

  网站地址+发帖地址后缀:需要组合成一个完整的地址,所以两者的设置不互补

  网站地址+源页面后缀:需要组合成一个完整的地址,所以不要设置两者互补

  

  然后我们用标签替换POST数据中的值。

  双击选择表单值,然后将鼠标悬停在标签按钮上,选择要替换的标签名称。您可以选择系统标签、普通标签和时间标签。

  我的替换效果如下图

  

  标题、来源、内容和时间很容易确认和识别。

  这里给大家解释一下“[Category ID]”系统标签。

  此标签用于为我们的下一组获取列列表设置铺平道路。

  那么如何确定哪个表单名称是[类别ID]呢?

  按照下图所示的方法,很简单就知道typeid就是我们要找的【类别ID】,替换成对应的即可。

  

  (2)第二步,确认“获取列列表”设置

  首先,我们必须确定我们的选择列列表在哪个页面上?

  A.最常见的一种,栏目选择在发布内容页面,类似于我们的demo DEDE文章@>发布。

  B. 特殊情况下,内容页面不在其他页面下发布。

  这里我们讲解案例A,直接拿“内容发布参数”下的源页面后缀设置即可。

  将其放入“获取栏目列表”下的帖子地址后缀和来源页面后缀中。

  然后查看发布页面的源码,找到刷新列表部分的源码,确定栏目列表的起止代码和格式

  

  ID 替换为 [类别 ID]

  将列名替换为 [类别名称]

  不规则代码与 (*) 通配符匹配

  设置如图:

  

  现在我们保存发布模块,大概测试一下发布效果

  可以刷新列表,说明我们的“获取列列表”设置就OK了。

  

  可以发布,说明我们的“内容发布参数”设置没有问题。

  

  (3)第三步,完善模块

  成功与失败识别码:

  您可以在网站中发布正常内容和失败内容(例如,不填标题,不选择栏目)查看各自的提示,然后写模块设置,多提示每行一个。

  

  高级功能:

  可以看到我们的模块有一个LITPIC表单名称字段,这是我们在粘贴“内容发布参数”的POST数据时自动提取的设置。在这里,我们可以自定义和修改标签名称,比如设置为缩略图。

  文件上传设置中的标签,文件上传不需要设置FTP,只要下载到本地就可以实现自动上传操作。

  

  网站自动登录:

  我们之前做的发布是基于登录方式是浏览器内置的原理来获取cookies和User-agent。我们也可以使用数据包登录方式来设置。他的设置原理和“内容发布参数”一样。使用fiddler工具在登录后台的那一刻抓取POST包。

  POST http://127.0.0.1:801/dede/dede/login.php HTTP/1.1

Host: 127.0.0.1:801

Connection: keep-alive

Content-Length: 112

Cache-Control: max-age=0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Origin: http://127.0.0.1:801

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36

Content-Type: application/x-www-form-urlencoded

Referer: http://127.0.0.1:801/dede/dede/login.php?gotopage=%2Fdede%2Fdede%2Findex.php

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,zh;q=0.8

Cookie: menuitems=1_1%2C2_1%2C3_1; PHPSESSID=f21a42f70199c81955f3219623343735; ENV_GOBACK_URL=%2Fdede%2Fdede%2Fcontent_list.php%3Fchannelid%3D1

gotopage=%2Fdede%2Fdede%2Findex.php&dopost=login&adminstyle=newdedecms&userid=admin&pwd=admin&validate=lcmt&sm1=

  设置如下:

  

  测试效果:

  

  OK,这样就支持内置浏览器的模块登录或者数据包登录了。

  如果还有其他问题,可以来本站搜索相关问题,这里有你想要的答案:优采云脚本网

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线