未定义是什么意思(数据搬砖)
如果有更好的建议或者想看更多关于家居生活技术大全及相关资讯,可以多多关注茶馆百科网。

作者:李小飞
来源:Python技术
今天,我将分享一个迁移过程幕后的小故事。它既有知识性又有趣。过来听。
并不丝滑
迁移到微信官方账号是腾讯提供的一项服务,就是将原公司的主体切换到另一家公司,然后收回原公司。大部分都是腾讯做的,但也有一些工作需要我们自己处理,比如迁移公众号的关键词消息回复。
虽然不是什么大事,但是很重要。做得不好,读者会发现源代码,影响大家的学习效率。
但是单人操作还是比较难,因为登录两个微信官方账号,打开两个页面,来回切换操作,不方便,容易出错。
我该怎么办?求神拜佛肯定没用,但是一个大神真的要拜——Python!
既然网页上能看到
提取数据
,那肯定是爬虫获取的。让我们再做一次。在浏览器中按F12,进入魔法世界。
你知道百度的校招公告就藏在这里吗?
不要告诉我。
第一步是清除请求记录,刷新页面,然后从第一个请求记录开始分析。
其实就是看请求的返回值是否包含页面上列表中的数据。
幸运的是,第一个是,但是,没有直接给出数据,而是返回了一个很大的js脚本,这个脚本是在页面加载后计算出来的。
分析请求
需要勾选PerserveLog,否则对于有用的页面切换,请求记录可能不可见。
这个不难,复制js,提取关键词回复的信息,整理出来就行了。
问题是每页只显示十篇文章,二十多页,复杂的成本有点高。
我必须做点什么。我观察了网站地址。有两个参数,一个是计数,另一个是偏移量。我对它很熟悉。不分页是一回事吗?
分析请求
试着改变它。将计数更改为1000,偏移量更改为0,这意味着从第一行开始,得到1000件,然后按Enter键.
搞定了。
仔细检查后,所有记录确实都被退回来了,因为总共没有1000行。
你现在就可以做,因为只有一次。
复制它并用文本编辑器(最好支持列编辑)简单地处理它,得到一个json。
json
因此,该方法需要灵活应用。如果能直接通过程序获得,那最好。如果没有,手动辅助也是可能的。
分析写入
接下来,就是重头戏了,如何把这些数据写入。进入新微信官方账号的管理后台,新建关键词回复,分析请求,别忘了打开开发者工具(浏览器上按F12)。
一般来说,提交课程请求是第一步。看的话确实是,只是具体数据肉眼看不清楚。我该怎么办?
还记得之前curlbash多次提到的复制请求吗?右键使用它,右键单击请求并选择CopyascURL(bash)。
copycURL
我应该把它放在哪里?当然,它不在文本文件中,除非你想临时这么做。
我们可以直接把它粘贴到https://curl.trillworks.com/中,得到转换后的Python代码。
然后将Python代码复制到一个文件中,执行它来看看效果。果然,添加了新记录。
数据处理
下面分析一下请求数据,和刚才的json文件对比一下,大致名称很像,很容易找出来。字段是相同的,可能来自相同的架构设计,但不太可能由不同的团队开发。哈哈,我居然读得这么深!
这样边找边写,写完了代码就完成了,像这样:
Data={ '回复类型' '智能回复''规则ID'' 0 ''规则名称' 3360kw ['规则名称'],#规则名称'全部回复' 3360kw ['回复_全部'],#完整回复'回复计数' kW ['回复_计数'],#回复数量'关键字计数' 3360 Len (kW ['关键字_列表']),#关键字0' kW ['关键字_列表content 0 ' kw[' reply _ list '][0][' content '],# reply content ' token ' ' 105
h_CN','f':'json','ajax':'1'}kw就是从json中读取到的每一行回复数据token是登录凭证,如果不传或错误,会创建失败,说明腾讯还是做了很多防护的集成
现在将各部分的代码组合起来。
首先是解析json的代码:
withopen("keyword.js",'r',encoding='utf-8')asword:d=json.load(word)超级简单,利用json库将keyword.js文件中的内容转化为PythonList对象
然后是数据组合,代码已经在上面展示了。
最后发送请求:
add(data)print('处理完成,休息2秒...')time.sleep(2)add方法是将Python请求代码做了下封装,便于调用,其中将动态的部分用,通过参数data替换time.sleep(2)是一种友好,休息2秒钟,以免惊醒反爬神兽(友情提醒:惊醒反爬机制一点都不好玩)好了,这样搞定了,写代码用了一个多小时,跑完不到两分钟。
收尾
美中不足的是,代码只照顾了大多数的一条消息的回复(代码中直接获取的数组中第一个元素,如kw['reply_list'][0]),还有几条回复是多条消息,照顾不上。
如果要照顾,可能的话80%以上的时间,以兼容20%不到的情况,不划算。
怎么办?凉拌!——直接手动添加。
哈哈,我很乐意做这一点手工活儿。
总结
类似这样的方式,用在其他的地方,完全是可以的,比如之前的约马程序,训练营运营数据提取等等,都是一样的套路:
分析浏览器的请求,推荐使用Chrome浏览器将请求复制为cURLbash命令粘贴到CURLtoPython中提取Python代码修改Python代码,以动态处理数据就这么简单,Get到了吗?
那,赶紧找个地方试试吧。
每天进步一点点,生活更美好,比心!
本文主要介绍了关于未定义是什么意思(数据搬砖)的相关养殖或种植技术,家居生活栏目还介绍了该行业生产经营方式及经营管理,关注家居生活发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解家居生活技术怎么管理的要点,是您家居生活致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://23.234.50.4:8411/article/99926.html