python搜索关键词自动提交_简单爬虫:调用百度接口,实现关键词搜索(python_003)...
需求:
如何用python代码实现百度搜索关键词的功能?
比如输入关键词:“python爬虫”,得到一个搜索结果的页面,并保存到本地。
这是经典的python爬虫教学案例之一,也是比较基础的python实现。今天主要通过python自带的urllib库实现。
实现的步骤有三:
第一步:实践。打开百度搜索,输入关键词搜索一下。
第二步:观察。查看链接,找到链接中的规律。
将链接复制出来,如下:
看到这么一长串是不是挺吓人的?!
其实越是复杂的东西越是纸老虎。通过观察,这个链接中关键信息只有划线的一小部分:
为什么这么说?
因为如果你把剩下的信息删除,再去搜索也能得到同样的搜索结果。换句话说,其他的信息可有可无。
其实仔细观察,你会发现这个链接中有很多“&”符号,&的作用就是将不同的字段连接起来,组成一串完整的url,这些字段就像一张表单的表头一样,有些是必须填的,比如"wd=..."这个字段,就是关键词的意思,“ie=utf-8"就是一个编码的字段,采用utf-8编码。
那怎么判断哪些是关键信息?哪些是可有可无的字段呢?
很简单,你把你认为不重要的字段删除后,如果还能够实现搜索,就说明这个字段是不重要的。
另外,你可能会疑惑,明明关键词输入的是“python爬虫”,为什么链接里面变成“wd=python%E7%88%AC%E8%99%AB”了呢,因为中文在搜索的时候被自动转换编码了。我们在写代码的时候也要注意,如果输入的关键词里有中文,则需要对关键词处理一下,可以通过urllib.request.quote( )处理。
第三步:编写代码
首先,导入urllib库中的request,
接着,设定关键词,因为关键词里面有中文,用quote( )方法进行转码;
然后,构造url,我们发现wd就是关键词的接口,所以url部分只要加上keyword关键词即可;
再然后,就可以阿通过Request( )封装成request请求,再通过urlopen( )提交给服务器,并返回响应结果。
最后,通过open( ),write( )方法将页面保存到本地,关闭文件。
需要特别注意的是:构造url的时候,是http,不是https。因为https是网络的安全协议模式,需要有证书才能返回响应,在没有证书的情况下是不会返回结果的。
python搜索关键词自动提交_简单爬虫:调用百度接口,实现关键词搜索(python_003)...相关推荐
- python搜索关键词自动提交_python+selenium实现自动化百度搜索关键词
原博文 2019-07-22 14:10 − 通过python配合爬虫接口利用selenium实现自动化打开chrome浏览器,进行百度关键词搜索. 1.安装python3,访问官网选择对应的版本安装 ...
- 手写板JAVA调用_手写板 (调用百度接口)
落日赌城 #sx{color:#00C;text-decoration:underline;cursor:pointer;} 手写 var w = window,d = document,n = na ...
- python实例练习(15)搜索关键词自动提交
文章目录 简介 问题概述 完整代码实现 简介 搜索引擎是日常需要使用的工具,也是访问互联网的门户.不管你是否愿意承认,尽管搜索一个新鲜玩意儿已经是各位读者的日常,但有时候忙到会希望能够自动向搜索引擎提 ...
- Python调用百度接口(情感倾向分析)和讯飞接口(语音识别、关键词提取)处理音频文件...
本示例的过程是: 1. 音频转文本 2. 利用文本获取情感倾向分析结果 3. 利用文本获取关键词提取 首先是讯飞的语音识别模块.在这里可以找到非实时语音转写的相关文档以及 Python 示例.我略作了 ...
- python搜索关键词自动提交_Python自动搜索关键词采集信息—以京东为例!
一.操作步骤 如果网页上有搜索框,但是搜索结果页面没有独立网址,想要采集搜索结果,直接做规则是采集不到的,要先做连续动作(输入+点击)来实现自动输入关键词并搜索,然后才能采集数据.下面用京东搜索为例, ...
- python爬虫ip限制_简单爬虫,突破IP访问限制和复杂验证码,小总结
简单爬虫,突破复杂验证码和IP访问限制 好吧,看题目就知道我是要写一个爬虫,这个爬虫的目标网站有一些反爬取意识,所以就有了本文了. 我先说说场景吧: 由于工作需要,平时有一大堆数据需要在网上查询,并归 ...
- pythonurllib登录微博账号_简单爬虫实现登录新浪微博(python2.7)
因为图论作业,所以要写一个爬虫,就开始学python.接触python开始,就觉得这个语言非常舒服,不需要定义变量,不需要分号,非常简洁. 下面就聊聊,我写爬虫的经历.上网搜了一下爬虫的代码,发现简单 ...
- [转载] python中的且语句_简单探讨python中的语句和语法
参考链接: 在Python中解包:并行分配之外 python程序结构 python"一切皆对象",这是接触python听到最多的总结了.在python中最基层的单位应该就是对象了, ...
- python kafka offset自动提交_Spring-Kafka —— 实现批量消费和手动提交offset
spring-kafka的官方文档介绍,可以知道自1.1版本之后, @KafkaListener开始支持批量消费,只需要设置batchListener参数为true 把application.yml中 ...
最新文章
- 十一月第三周学习进度条
- nacos 配置动态刷新_nacos配置中心修改后刷新
- Spring Cloud Alibaba 统一门户:基于网关的统一用户认证方案
- 通信数字信号处理基本知识
- 写的很好!细数 Java 线程池的原理
- HTTP中response响应数据获取
- NorthWest University - Medical Engineering
- 信号的时频分析MATLAB,[转载]时频特性分析(Matlab)
- Java判断两个Date是不是同一天
- 概率论基础知识各种分布
- flex4.5新特征
- 阿姆达尔定律(Amdahl's law)
- 生产排程系统_【经典文章】漫谈生产计划排程与控制系统
- 同步、异步、阻塞与非阻塞给你说得明明白白
- #CSDN软件工程师能力认证学习精选# NoSql是什么?
- 利用Xshell修改Linux默认SSH端口号等详细配置
- 在vue中使用canvas实现简单特效(下雨天)
- Android 小知识:startActivity 与 finish 的调用顺序
- 苹果手机数据线充不了电_深圳苹果手机数据线多少钱一条
- Elastic-Job开发指南
热门文章
- Winform 初识记录
- Property 'filter' does not exist on type 'Observable' 报错解决方法
- 计算机编码中进制的区别,计算机中的进制和编码(转载)
- python的dataframe的groupby_python pandas.DataFrame.groupby()方法详解
- Object.preventExtensions()使用技巧
- win10下安装mysql5.6 zip形式步骤
- RN与原生交互(一)——基本页面跳转
- python中casefold()函数的用法
- 机器学习基础-朴素贝叶斯分类
- 使用kNN算法实现简单的手写文字识别