一个大佬哥要的,估计他用不了,哈哈哈!!!
前面本渣渣有写过不少百度收录提交的工具脚本,这里分享一个狗哥,搜狗链接提交工具脚本,与百度api提交不同的是,搜狗的是网页提交,而且限制为20条一次,同时还需要打码,输入验证码,大概率是被撸怕了?!还是因为服务器资源不够?!
链接提交:
链接提交工具为站长提供链接提交通道,帮助搜狗spider抓取您的网站。您可以通过本工具提交您想被搜狗收录的链接,搜狗搜索会按照自身标准处理,不保证一定收录您提交的内容。
工具地址:
https://zhanzhang.sogou.com/index.php/sitelink/index
限制:
每次最多可提交20条链接,每行一条;
仅支持页面对应链接的提交,不支持sitemap形式的文件提交。
与百度搜录提交的不同的是,需要输入验证码,关键点就在于这个验证码的处理了!
关键点
1.session的使用
由于需要提交验证码,所以需要保持一个会话链接,直接用requests的session即可!
#实例化session
session = requests.session()
2.验证码的处理
本渣渣大意了,以为验证码只是一个png图片,直接下载即可,没想到搜狗的验证码图片是svg格式,但不妨碍处理,原理还是一样的,直接down下来,然后转化一下格式,这里应用到了python的第三方库:cairosvg!
cairosvg库安装:
pip install cairosvg
cairosvg转格式,svg转png使用方法,
cairosvg.svg2png(
url="code.svg", write_to="code.png")
不过这里需要注意的是,有个错误需要处理,好在大佬们已经给出了完美的解决方案!
需要安装gtk2-runtime-2.24.33-2021-01-30-ts-win64.exe,同时重启编辑器!
具体解决方案可查看:python将svg的html转成png图片 https://zhaojiafu.blog.csdn.net/article/details/116199823
附上gtk2-runtime-2.24.33-2021-01-30-ts-win64.exe安装包,文末可获取!
3.获取验证码
获取验证码其实很简单,跟访问下载是一样的!
code_url="https://zhanzhang.sogou.com/api/user/generateVerifCode?timer=1626862066472"
r=session.get(url=code_url,headers=headers,timeout=5)
with open('code.svg','wb')as f:
f.write(r.content)
print("下载验证码成功!")
4.显示验证码图片,手动打码
显示验证码图片,这里应用了第三方库 PIL!
from PIL import Image
im = Image.open('code.png')
im.show()
code=input("请输入验证码:")
Python提交效果:
提交成功:
验证码输错:
扩展
如果想要实现自动,也就是自动打码,可以考虑第三方打码接口,或者使用深度学习!