文章目录

  • 简介
  • 问题概述
  • 完整代码实现

简介

搜索引擎是日常需要使用的工具,也是访问互联网的门户。不管你是否愿意承认,尽管搜索一个新鲜玩意儿已经是各位读者的日常,但有时候忙到会希望能够自动向搜索引擎提交关键字来获取查询结果。本节将会向各位读者介绍搜索关键字自动提交并返回结果(以百度为例子)。

问题概述

百度搜索引擎首页自然不必多说,http://www.baidu.com,大家都耳熟能详。当输入一个待查询的keyword时,百度将自动转换链接为:http://www.baidu.com/s?wd=keyword。各位可以自己将前面链接中的keyword替换成别的想要搜索的关键字来验证。
那么问题出现了突破口,我们能够利用百度这一点来通过requests的get函数提交查询。
这个问题的IPO描述如下:
输入:待查询的关键字
处理:自动获取百度搜索结果页面,并且对页面内容解析处理
输出:返回链接的标题列表
各位读者可以通过f12分析百度查询结果页面的HTML代码,部分图片如下所示,各位可以对比网页的搜索结果和代码仔细寻找。

经过分析可发现,页面上返回的结果被封装在下面的代码结构中:

<div>…data-tools=‘{“title”:“…”,“url”:“…”}’>…</div>

利用bs4库找到data-tools属性值,提取带有title的字符串,由于data-tools中{}形成的数据是典型的JSON结构,可以用json库将其转换成字典,便于操作。

完整代码实现

import requests
from bs4 import BeautifulSoup
import re
import json
def getKeywordResult(keyword):url = 'http://www.baidu.com/s?wd='+keywordtry:r = requests.get(url, timeout=30)r.raise_for_status()r.encoding = 'utf-8'return r.textexcept:return ""
def parserLinks(html):soup = BeautifulSoup(html, "html.parser")links = []for div in soup.find_all('div', {'data-tools': re.compile('title')}):data = div.attrs['data-tools']  #获得属性值data = data.replace("'","\"")d = json.loads(data)        #将属性值转换成字典links.append(d['title'])    #将返回链接的题目返回return links
def main():html = getKeywordResult('中亿丰数字科技有限公司')ls = parserLinks(html)count = 1for i in ls:print("[{:^3}]{}".format(count, i))count += 1
main()

运行结果如下所示:

python实例练习(15)搜索关键词自动提交相关推荐

  1. python搜索关键词自动提交_简单爬虫:调用百度接口,实现关键词搜索(python_003)...

    需求: 如何用python代码实现百度搜索关键词的功能? 比如输入关键词:"python爬虫",得到一个搜索结果的页面,并保存到本地. 这是经典的python爬虫教学案例之一,也是 ...

  2. python搜索关键词自动提交_python+selenium实现百度关键词搜索自动化操作

    缘起 之前公司找外面网络公司做某些业务相关关键词排名,了解了一下相关的情况,网络公司只需要我们提供网站地址和需要做的关键词即可,故猜想他们采取的方式应该是通过模拟用户搜索提升网站权重进而提升排名. 不 ...

  3. python搜索关键词自动提交_Python多线程采集百度相关搜索关键词工具带exe程序!...

    [Python] 纯文本查看 复制代码#百度相关搜索关键词抓取,读取txt关键词,导出txt关键词 # -*- coding=utf-8 -*- import requests import re i ...

  4. python搜索关键词自动提交_python+selenium实现自动化百度搜索关键词

    原博文 2019-07-22 14:10 − 通过python配合爬虫接口利用selenium实现自动化打开chrome浏览器,进行百度关键词搜索. 1.安装python3,访问官网选择对应的版本安装 ...

  5. python搜索关键词自动提交_Python自动搜索关键词采集信息—以京东为例!

    一.操作步骤 如果网页上有搜索框,但是搜索结果页面没有独立网址,想要采集搜索结果,直接做规则是采集不到的,要先做连续动作(输入+点击)来实现自动输入关键词并搜索,然后才能采集数据.下面用京东搜索为例, ...

  6. python搜索关键词自动提交订单_Python批量获取淘宝相关搜索和下拉框关键词

    首先淘宝seo是什么?淘宝seo是对淘宝站内关键字排名进行优化,淘宝三大排名因数:文本相关性,商业因素,用户喜好度.非专业总结(勿喷) 1,文本相关性:起码标题出现吧 2,商业因素:广告展位,直通车等 ...

  7. python百度关键词自动提交-python+selenium实现百度关键词搜索自动化操作

    缘起 之前公司找外面网络公司做某些业务相关关键词排名,了解了一下相关的情况,网络公司只需要我们提供网站地址和需要做的关键词即可,故猜想他们采取的方式应该是通过模拟用户搜索提升网站权重进而提升排名. 不 ...

  8. Redis 实现搜索关键词自动补全

    一.字典型自动补全 Redis 的有序集合有一个特性:score 相同时,是按照字典顺序排序的. 如我们需要获取带有某个前缀的提示词,将每个关键词的前缀分别提取并存储在有序集合中,如:foobar,则 ...

  9. php怎么做热门搜索标签,实现phpcms v9全站热门搜索关键词自动调用

    实现此功能其实并不难,虽然官方没有在发布版里做好,但系统自带了关键词模型,只是没有实现,我们修改一下程序来实现. 首先找到 /phpcms/model/keyword_model.class.php ...

最新文章

  1. 写出程序删除链表中的所有接点
  2. 数据预处理:读取文件数据,并存为python数组
  3. Sentence-LDA的介绍及程序
  4. scp 免输入密码的方法
  5. Texar安装、Textgenrnn安装
  6. win10很多软件显示模糊_三菱PLC编程软件GX WORKS2在WIN10 中的应用技巧
  7. 电商直播还有什么新花样?
  8. 数字供销方案、供销社数字化、信息化
  9. java向指定用户极光推送_【极光推送】给指定用户发送消息
  10. Word批量删除空白行
  11. 线性代数---之基向量
  12. python相关性分析模型_Python多元线性回归模型,python
  13. Python指数运算
  14. Juniper 防火墙JSRP高可用性HA(High Availability) chassis cluster双击冗余
  15. 下肢外骨骼机器人开发技术综述
  16. 阿里妈妈Dolphin分布式向量召回技术详解
  17. Webpack 实战入门系列(三):生产配置、样式文件分离及输出清理
  18. 搭建ntp时间同步服务器,解决cm时间问题
  19. 机器人“嘚瑟”怎么办?用加速度指令“hold”住它!
  20. 现代密码学第一章复习题

热门文章

  1. 7年老Android一次操蛋的面试经历,讲的明明白白!
  2. 五个无刷马达驱动电路分享!
  3. android cursor关闭,android在异步任务中关闭Cursor的代码方法
  4. SEO页面优化方案指南
  5. BERT破的11项纪录具体都是什么?
  6. 搜集源码之github搜索语法,网盘搜索,搜索引擎等
  7. oracle中drop和delete,oracle中delete drop truncate的用法和区别
  8. 王权富贵:使用pytorch复现Fater-RCNN
  9. fuz 2159 WuYou
  10. 谷歌开源 ClusterFuzz,自动化查找并修复 bug