采集文章自动发布到zaker要解决两个问题(组图)

优采云 发布时间: 2021-06-16 06:01

  采集文章自动发布到zaker要解决两个问题(组图)

  采集文章自动发布到zaker要解决两个问题:pc端和移动端。本文关注移动端。目前,不管是zaker自己的后台还是foxmail邮箱,都是采用pythonsend方式发送消息,但是这个方式存在弊端:foxmail是转发邮件时再转发消息。这会造成前一条消息已经转发过,下一条却还没被转发。文章是在pc端发送,可以根据内容大小和重要性加以分组,这样可以减少错误。

  但是在移动端,用户看到的数据是按照标签分组,如果不改为pc端的方式就必须发送纯post请求给zaker,而且文章还不能超过100篇,否则是自动发送失败。改为php发送就可以解决这个问题。本文关注zaker和一种服务的方式,采用post请求,且不仅限于zaker,且加上foxmail并且声明其存储该post请求的key。

  在下面公式里,我简单写了一个分页算法。关键代码如下:1.urllib2.urlhandler:将请求转发给zaker,与post请求相同print(urllib2.urlhandler("/"))#同时将请求和文章信息传入print(urllib2.urlhandler("/").decode("gbk"))#同时将请求转发给foxmail,与post请求相同print(urllib2.urlhandler("/").decode("gbk").content())2.request.getrequestdisabled(request.cookies):返回非空字符串,没有cookies就返回301print(urllib2.urlhandler("/").decode("gbk").content())3.request.getrequestconnection(request.accept):返回一个对象,该对象有三种属性:post:这个请求提交后,对方会处理这个请求fromzaker.contentimportsubmitdisabled(fromzaker.contentimportsenddisabled)request.getrequestconnection("")#同时请求fromzaker.contentimportdataprint(urllib2.urlhandler("/").decode("gbk").content())4.request.postrequest(request,request.cookies):返回一个对象,其中参数里只要有request()方法,且request()是要先于fromzaker.content()发起的,则会返回request().accept。

  如果没有这个方法,则返回空。print(urllib2.urlhandler("/").decode("gbk").content())request.getrequestconnection("")#同时请求fromzaker.contentimportsubmitdisabled(fromzaker.contentimportsenddisabled)print(urllib2.urlhandler("/").decode("gbk").content())结果如下:你可以根据自己的需要,采用上。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线