前面写了模拟登陆12306的文章,但验证码自动识别仍没有比较好的实现方式,看了 @那座荒城 的文章,可以利用百度文字识别和百度识图功能分别对验证码的文字和图片进行处理,实现自动识别(传送门Python3.x 12306自动登录完整实现)

百度文字识别功能根据文档说明很容易就实现,百度识图功能Python3.x 12306自动登录完整实现也有详细的代码说明,文章百度识图部分参考了fuck12306的实现方式(andelf/fuck12306),该方式使用了http://image.baidu.com/pictureup/uploadshitu?fr=flash&fm=index&pos=upload地址上传文件,成功上传后及可返回索搜的结果地址,使用的上传地址目前对百度识图页面进行抓包,怎么找也找不到,既然是现有没有开放的地址,使用起来总是别扭,研究了下,总算可以根据当前地址实现搜索功能,以下详细过程

我们先对一次完成的图片搜索进行抓包,结果页面的请求信息

结果页面地址如下:

http://image.baidu.com/pcdutu?queryImageUrl=http%3A%2F%2Fc.hiphotos.baidu.com%2Fimage%2F%2570%2569%2563%2Fitem%2Fb812c8fcc3cec3fd96b0c486dd88d43f869427b2.jpg&querySign=2989928016%2C2100245456&fm=index&uptype=upload_pc&result=result_camera&vs=6620bd7f76bc58783b1cc038597b0a4dfca6fbef

需要的参数如下:

fm:index

uptype:upload_pc

result:result_camera

vs:6620bd7f76bc58783b1cc038597b0a4dfca6fbef

其中queryImageUrl参数是URL,直接访问这个地址看看,就是我们要搜索的原图片

也就是说,我们在进行识图搜索时,会直接把图片上传到服务器并生成URL地址,再根据这个URL地址显示最终搜索结果

找找上传地址,在抓包的数据里看到有个upload的地址,很明显,应该就是这个了

不过post的数据和常见的数据格式好像不太一样,百度了这类数据的构造方法(参考文章使用python的requests 发送multipart/form-data 请求),最后成功请求并返回结果如下:

根据返回的URL和querySign的值,用于构造结果地址的参数,VS参数在抓包数据中看到时20位的字符串,使用VS=空的方式,不影响,也可以正常访问,具体获取就没有再研究

代码实现如下:

url = 'http://image.baidu.com/pcdutu/a_upload?fr=html5&target=pcSearchImage&needJson=true'

headers = {

"User-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"

}

files = {

'file':('1_10005.jpg',open(r'E:\12306_1\1_11.jpg','rb'),'image/jpeg'),

'pos':(None,'upload'),

'uptype':(None,'upload_pc'),

'fm':(None,'index')

}

resp = requests.post(url, files=files, headers=headers)

redirect_url = loads(resp.text)

result_url = 'http://image.baidu.com/pcdutu?'+'queryImageUrl='+redirect_url['url']+'&querySign='+redirect_url['querySign']+'&fm=index&uptype=upload_pc&result=result_camera&vs='

print(result_url)

python实现搜索功能_python实现百度识图搜索功能相关推荐

  1. atitit 音频 项目 系列功能表 音乐 v3 t67.docx Atitit 音频 项目 系列功能表 1.音频 音乐 语言领域的功能表 听歌识曲功能 酷我功能。 铃声 功能。。 音频切割(按

    atitit 音频 项目 系列功能表 音乐 v3 t67.docx Atitit 音频 项目 系列功能表 音频 音乐 语言领域的功能表 听歌识曲功能 酷我功能. 铃声 功能.. 音频切割(按照副歌部分 ...

  2. 搜狗搜索事业部总经理:从识图搜索谈未来大势

    经过近半年的独立研发,搜狗搜索推出了识图搜索功能,即可通过上传图片等方式搜索找到相似群组图片和资料.日前,就这一新功能以及搜索领域热点话题,CSDN记者专访了搜狗公司搜索事业部总经理茹立云. 搜狗公司 ...

  3. atitit 音频 项目 系列功能表 音乐 v3 t67.docx Atitit 音频 项目 系列功能表 音频 音乐 语言领域的功能表 听歌识曲功能 酷我功能。 铃声 功能。。 音频切割(按照副歌部

    atitit 音频 项目 系列功能表 音乐 v3 t67.docx Atitit 音频 项目 系列功能表 音频 音乐 语言领域的功能表 听歌识曲功能 酷我功能. 铃声 功能.. 音频切割(按照副歌部分 ...

  4. python翻译器怎么用_Python使用百度翻译开发平台实现英文翻译为中文功能示例

    本文实例讲述了Python使用百度翻译开发平台实现英文翻译为中文功能.分享给大家供大家参考,具体如下: #coding=utf8 import random import requests impor ...

  5. python redis 订阅发布_python 实现redis订阅发布功能

    redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...

  6. python 百度搜索结果_Python洗涤百度搜索结果

    主要思路 利用Python处理百度搜索关键字后返回的页面,提取其中的有效信息. 有效信息包括: 剔除广告等无用链接后的有用链接以及这些有用链接的标题信息. 相关文件 关注转发后私信回复"洗涤 ...

  7. python打开网址搜索关键字_Python实验:百度搜索关键字自动打开相关URL

    #! python # coding: utf-8 # python实现百度搜索关键字,并依次用浏览器打开前五个搜索结果 ## ##Beautiful Soup 是一个模块,用于从HTML 页面中提取 ...

  8. python全盘搜索文件_python实现全盘扫描搜索功能的方法

    由用户指定需要扫描的盘符或目录,输入需要查找的文件或者文件夹名称(不包含中文名称) 代码: # encoding=utf-8 import os.path import stat # 用python编 ...

  9. python爬虫登录微博_python爬虫-模拟微博登录功能

    微博模拟登录 这是本次爬取的网址:https://weibo.com/ 一.请求分析 找到登录的位置,填写用户名密码进行登录操作 看看这次请求响应的数据是什么 这是响应得到的数据,保存下来 exect ...

  10. python实现签到功能_python实现网页自动签到功能

    本文实例为大家分享了python实现网页自动签到功能的具体代码,供大家参考,具体内容如下 第1步.环境准备(用的chrome浏览器) 1.安装selenium包 pip install seleniu ...

最新文章

  1. 学界 | 终结吧!机器学习的数学焦虑
  2. 利用IE8开发人员工具调试JavaScript脚本
  3. mysql从青铜到王者_青铜到王者,快速提升你MySQL数据库的段位!
  4. docker 启动成功但无法访问_docker nginx 运行后无法访问的问题解决
  5. 将Eclipse Android项目打包成APK文件
  6. 2017-2018-2 20179205 《网络攻防技术与实践》第八周作业
  7. 导致存储过程重新编译的原因
  8. bzoj2242: [SDOI2011]计算器
  9. 数字图像处理(21): 图像金字塔(高斯金字塔 与 拉普拉斯金字塔)
  10. 2022年 27 个最佳 UX/UI 设计灵感网站
  11. 背单词APP测试与评估(百词斩vs扇贝)
  12. mysql cmake ncursor_在移植的过程中主要会用到boost库、cmake工具以及wt库的编译。...
  13. 揭秘苹果应用审核团队(史上最全版)
  14. 又一年的五一劳动节!
  15. 一道简简单单的字节跳动算法面试题
  16. winrar命令行打自解压安装包不生效问题
  17. 定时任务的 执行时间设置规则
  18. Python全国计算机等级考试(2021)
  19. 天源财富:“中国天眼”发现201颗新脉冲星
  20. windows tabular数据流协议

热门文章

  1. excel多元线性拟合_excel透视+多元线性回归
  2. C语言信息学一本通题库答案,信息学奥赛一本通(C++版)在线评测系统
  3. 信息系统项目管理师---综合类计算
  4. 带宽,传输速率,吞吐量三者之间的关系与区别
  5. (2020/11/9)学习记录
  6. PanDownloadSpeedPan迅雷极速版合集
  7. python解决八数码问题_python解决八数码问题
  8. ZEMAX | 如何倾斜和偏心序列光学元件
  9. 第六次毕业设计任务书
  10. 如何用python下载图片_Python之如何优雅的下载一堆小哥哥图片