本期为了满足用户的需求,特地的做了一款末so狗主动提交url以及提交快照更新软件,在做软件前,首先在python源码中,需要保证代码的运行流畅,然后才可以设计软件,在软件界面上进行任务的提交。

一、主动提交

某so狗的主动提交需要账号密码登录,然后再进行post请求,那么自然而然需要保持cookie一致或者session会话一直,这里用到session会比较方便。

1、请求验证码

验证码的源码是svg标签格式,需要通过对svg转成验证码图片,然后才能进行识别,这里识别用到了第三方打码平台,其实有免费的库可以识别或者其他方法,但是准确率不行,很容易造成so狗平台对ip的长时间的封禁,那么花点小钱用平台识别,准确率是比较高的,而且只需要验证一次就可以了。

1
2
3
4
5
6
7
8
9
10
11
12
#from reportlab.graphics import renderPM
#from svglib.svglib import svg2rlg
def code_img(self):resp = self.session.get(self.verify_url)f = StringIO(resp.text)drawing = svg2rlg(f)print(drawing)renderPM.drawToFile(drawing,f'common/1.png',fmt='JPG')img_bytes = renderPM.drawToString(drawing,fmt='JPG')# self.code = self.ocr.classification(img_bytes)self.code = self.chaojiying.PostPic(img_bytes, 1004)['pic_str']print(self.code)

2、登录获取session

保持登录会话一致,用验证码识别结果进行post请求,返回success就表示成功了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def login_sougou(self):while True:self.session.get('https://zhanzhang.sougou.com')form_data = {'code':self.code,'pwd':self.password,'userid':self.username}resp = self.session.post(url=self.login_url,data=form_data,headers=self.headers).json()print(resp)# time.sleep(3)if resp['code'] == 0:breakelse:self.code_img()

3、url主动提交

再到登录后的页面,进行url主动提交就可以了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def submit_url(self,url):while True:from_data = {"urls": url,"url": "","code": self.code,"role_id": 2,"site_id": 64517419,"site_address": "www.seopassion.com","urlSubFlag": 'true'}resp = self.session.post(url=self.post_url,data=from_data,headers=self.headers).json()if resp['code'] == 0:print('已成功推送')return resp['msg']elif resp['msg'] == '暂无权限':print(resp)return resp['msg']else:self.code_img()self.login_sougou()

二、快照更新

快照更新是不需要登录的。所以会比较方便,那么在代码逻辑中,拿到post地址进行快照更新提交就ok了。

三、designer界面设计

在designer界面中,进行简单的软件设计,整体框架先罗列出来,这里就简单做了一下,没有对样式进行优化,比较简陋一点。

通过命令将ui文件转为py文件

1
python -m PyQt5.uic.pyuic sougou1.ui -o sougou1.py

将软件各个按钮点击事件与我们之前的python代码进行绑定,再对数据进行界面显示,整体逻辑就这样了。

四、最后运行结果

某狗主动提交

某狗快照更新

这里软件就简单设计了一下,后面将软件封装一下,就可以长期投入使用,如果有需要源码或者软件的话,可以随时私信我vx:dan_moln   。

​​​​​​​        ​​​​​​​        

搜狗主动提交url并反馈快照更新软件(含源码)相关推荐

  1. Delphi自动提交网页表单和获取框架网页源码

    这两个问题的实现原理其实是差不多的,所以放在一起介绍,单元MSHtml封装了我们需要的功能. 首先,新建一个DELPHI工程,在USES部分添加MSHtml单元的引用. 然后,在窗体上放置一个TWeb ...

  2. 【Active Learning - 00】主动学习重要资源总结、分享(提供源码的论文、一些AL相关的研究者)

    主动学习系列博文: [Active Learning - 00]主动学习重要资源总结.分享(提供源码的论文.一些AL相关的研究者):https://blog.csdn.net/Houchaoqun_X ...

  3. 舔狗日记更新美化版源码

    我们是狗,舔狗.基于上一版中的数据,重新设计了舔狗日记. 人肉对每段数据的内容.标点符号进行纠错与优化(不一定标准):并按本人理解进行了划重点标记. 接入和风天气API,获取城市.气象.气温.免费版每 ...

  4. netty tcp服务端主动断开客户端_「Netty核心技术」6-ChannelPipeline源码

    ChannelPipeline是Channelhandler的容器,它负责ChannelHandler的管理和事件拦截与调度. 土话: ChannelPipeline就是用来管理Channelhand ...

  5. yy神曲url解析php_歪歪神曲解析源码(参考)

    歪歪神曲解析源码(参考) 2018-12-4 阅读:1589 只提供参考,自行测试更多资源交流群516722628 //$url = "http://www.yy.com/x/15012_1 ...

  6. scrapy爬取字幕组今日更新影视-附源码

    由于本人比较喜欢看美剧,字幕组的美剧资源更新又是非常快的,而本人scrapy爬虫写的也比较多,同时维护了一个小小的影视站给朋友下载,就想着能不能够用脚本实现每天的字幕组影视资源的更新与抓取,googl ...

  7. android asynctask源码分析,Android通过Handler与AsyncTask两种方式动态更新ListView(附源码)...

    本文实例讲述了Android通过Handler与AsyncTask两种方式动态更新ListView的方法.分享给大家供大家参考,具体如下: 有时候我们需要修改已经生成的列表,添加或者修改数据,noti ...

  8. 2022年腾讯短链(url.cn)官方免费接口调用源码,免费API接口调用

    分享一个在线腾讯短链(url.cn)生成工具,支持在线生成及接口方式生成. 腾讯短链(url.cn)在线工具 短链生成在线工具:https://www.sojson.com/dwz.html 腾讯短链 ...

  9. SwiftUI Widget 小组件实现时分秒时钟更新clock (教程含源码)

    实战需求 目前该方案实现了秒级刷新,不过存在性能问题.对性能要求高的朋友,千万不要付费购买.本文为大家提供一个解决问题的思路.建议在iPhone 12 Pro Max上进行测试.经测试,3分钟后会自己 ...

  10. springboot 主键重复导致数据重复_Springboot实现防重复提交和防重复点击(附源码)...

    背景# 同一条数据被用户点击了多次,导致数据冗余,需要防止弱网络等环境下的重复点击 目标# 通过在指定的接口处添加注解,实现根据指定的接口参数来防重复点击 说明# 这里的重复点击是指在指定的时间段内多 ...

最新文章

  1. python谁的课比较好-【年度系列】2018年学习Python最好的5门课程
  2. 关于JS的循环和函数,由入门到放弃
  3. 【素数】P1217 [USACO1.5]回文质数 Prime Palindromes
  4. 分页刷新(SwipeRefreshLayout+SwipeMenuRecyclerView)
  5. matlab编写识别手写数字_使用PYNQ搭建手写数字识别工程小白级说明(完整版)
  6. [每日一题] OCP1z0-047 :2013-07-14 正则表达式
  7. java io图_JAVA IO流结构图
  8. 10.11 noip模拟试题
  9. sylixos pci
  10. StringUtil里面的常用的方法
  11. mysql切片库_Database数据库切片模式
  12. Jetty和Tomcat的比较。
  13. 古代五大美男的悲惨结局:潘安被灭三族
  14. Android WebView 的回退方法(goback) 遭遇重定向
  15. 移动电影院迎来2.0版本,5部影片在移动电影院上举办“首映礼”
  16. IntelliJ IDEA如何整理代码格式
  17. OpenBmc开发错误6:gyp ERR! configure error gyp ERR! stack Error: socket hang up
  18. mmdetection训练自己的数据并评估mAP
  19. 准备软硬件openGauss安装环境
  20. chrome新版不支持旺旺 支付宝 插件的解决方法

热门文章

  1. std::result_of用法
  2. 发动机启动计算机,不自检直接启动伤车?看完发动机电脑自检原理你就明白了...
  3. 今天谁在开网店?兼职卖家占整体网店近70%
  4. 关于数据库求候选键问题
  5. html ico在线制作,10款免费图标生成器网页设计师
  6. Mac不能复制拷贝写入文件到移动硬盘,U盘怎么办
  7. vue 表格固定首行首列(纯css)
  8. 计算机原理求循环余数,国防科技大学2003年计算机原理考研试题
  9. java创新创业比赛项目教程_java毕业设计_springboot框架的大学生创新创业项目管理...
  10. ffmpeg ts与mp4互相转换