百度搜索引擎 - 搜索关键字排名 API

编程之家收集整理的这篇文章主要介绍了百度搜索引擎 - 搜索关键字排名 API编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

搜索热词

如果想用程序模拟在浏览器中使用百度搜索的结果,最先想到的就是爬虫了,

然而,还有一个更简单的方式可以使用,那就行直接使用百度的 API ,返回是 json 格式的数据,简直不要太爽。。。

API:

https://www.baidu.com/s?wd=apple&pn=1&rn=10&tn=json

参数说明:

  • wd:关键词

  • pn : 查询偏移位置(偏移位置对应浏览器中的行数)

  • rn: 每页显示多少条,默认为10条,最多50条

  • tn:返回数据类型,默认为 baidu 格式,可修改为 json 格式

所谓便宜没好货,哈哈。API 返回的数据,和真实浏览器中的位置和搜索结果还是大有不同的。

如果用爬虫的话,也会出现和上述一毛一样的问题,就是结果和真实浏览器中的不一致。。。。。。

最后,告诉大家一个神器,使用测试框架 selenium,用它来模拟人手动登录,这样效果就和真实浏览器一致了,就是慢了点儿

你以为这就完了吗?告诉你,没有!在多次测试以后发现 selenium 和真实浏览器也不太一致了(大部分都一样),这是怎么回事呢?正好这时,技术总监到我面前,我就顺嘴问了下,他告诉我把程序中的窗口大小调整下:

        # 设置窗口大小
        row = random.randint(500,1000)
        col = random.randint(1000,2000)
        self.driver.set_window_size(row,col)

啥玩儿?你扯淡吧!这和我的情况有关系吗?

。。。。。。众所周知,王境泽是为哲学家!谁都逃不逃真香定律

结果我把程序中的窗口大小调整以后,确确实实的是好了。可能你会想:“这是为什么呢”?其实我也在想为什么。结果我就去问了,总监淡淡的说了一句:直觉!!!

后来呀,又报错了。。。。

Firefox中报错如下:

org.openqa.selenium.ElementClickInterceptedException: Element <div class="el-submenu__title"> is not clickable at point (115,358) because another element <div class="el-loading-mask is-fullscreen el-loading-fade-leave-active el-loading-fade-leave-to"> obscures it

错误的意思是:无法点击这个元素,因为被另一个div掩盖(obscure)住了。

Chrome 中报错如下:

org.openqa.selenium.WebDriverException: unknown error: Element <div class="el-submenu__title" style="padding-left: 20px;">...</div> is not clickable at point (115,358). Other element would receive the click: <div class="el-loading-mask is-fullscreen el-loading-fade-leave-active el-loading-fade-leave-to" style="z-index: 2000;">...</div>
  (Session info: chrome=67.0.3396.99)

错误的意思是:无法点击这个元素,另外一个div元素接收了这个点击

可能出错的原因是窗口大小是随机的,会出现元素覆盖在一起的情况

解决的话也简单,把程序中的窗口大小调整为全屏

# 设置窗口大小
# row = random.randint(500,1000)
# col = random.randint(1000,2000)
# self.driver.set_window_size(row,col)

self.driver.maximize_window()

总结

以上是编程之家为你收集整理的百度搜索引擎 - 搜索关键字排名 API全部内容,希望文章能够帮你解决百度搜索引擎 - 搜索关键字排名 API所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群:1065694478(已满)
编程之家官方2群:163560250(已满)
编程之家官方3群:312128206(已满)
编程之家官方4群:230427597

相关文章

猜你在找的HTML相关文章

使用layer展示弹窗的实现html代码,效果看起来还不错,需要的朋友赶紧用起来。一、效果展示
如果想用程序模拟在浏览器中使用百度搜索的结果,最先想到的就是爬虫了,然而,还有一个更简单的方式可以使用,那就行直接使用百度的 API ,返回是 json 格式的数据,简直不要太爽。。。API:https://www.baidu.com/s?wd=apple&amp;pn=1&amp;rn=10&amp;tn=json参数说明:wd:关键词pn : 查询偏移位置(偏移位置对应...
转载声明:http://blog.csdn.net/marksinoberg/article/details/52875610版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。转载时请标注http://blog.csdn.net/marksinoberg.目录(?)[+]ECh
最普通最常用最一般的方法就是用submit type..看代码:    另外,还有一种常用的方法是使用图片:     第三种是使用链接来提交表单,用到了JavaScript的DOM模型:    提交这种方法实际上是调用了一个javascript函数,使用javacript函数来提交表单,方法就非
MathJax是一款相当强悍的在网页显示数学公式的插件。本教程介绍MathJax如何使用LaTeX语法编写数学公式。1.如何插入公式LaTeX的数学公式有两种:行中公式和独立公式。行中公式放在文中与其它文字混编,独立公式单独成行。行中公式可以用如下两种方法表示:\(数学公式\)或¥数学公式¥(要把人民币符号换成美元符号)独立公式可以用如下两种方法表示:
Ryan Zhao学习、实践、分享GitHub RSSMathjax与LaTex公式简介Mar 3, 2015   #MathJax  #公式  #LaTex  #tutorial 本文从math.stackexchange.com上名为MathJax basic tutorial and quick referenc
JS Sequence Diagrams 官网最新下载JS Sequence Diagrams 在线编译和教程jQuery 官网最新下载JS Sequence Diagrams 安装及使用时序图(Sequence Diagram),亦称为序列图或循序图,是一种UML行为图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消
HTML 基本文档文档标题可见文本...基本标签(Basic Tags)最大的标题 . . . . . . . . . . . . 最小的标题这是一个段落。 (换行) (水平线)文本格式化(Formatting)粗体文本计算机代码强调文本斜体文本键盘输入 预格式