Python10行代码实现模拟百度搜索的示例

 更新时间:2022年07月29日 10:06:13   作者:士别三日wyx  
本文主要介绍了Python10行代码实现模拟百度搜索的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1000块钱做个百度?能提出这种要求的客户实乃乙方克星、民族之光、科创永动机、西虹市一大杰出青年,诺奖永远得不到的人才。

但作为一个硬核的程序员,没有什么功能是我们实现不了的,如果有,那就是钱没到位。因此,我们要用魔法打败魔法,10行代码给他写一个百度搜索。

1. 获取百度搜索接口

地址栏中有很多参数,但实际有用的参数只有 wd ,只需要保留这一个参数即可,其余删掉。

url = 'https://www.baidu.com/s?wd=士别三日wyx'

2. 指定搜索内容

搜索内容肯定不能写死,需要由用户「输入」

kw = input('百度一下:')
url = 'https://www.baidu.com/s?wd=' + kw

3. UA伪装

利用百度的接口发送「请求」,获取响应内容。

大部分网站都会对用户的请求进行「过滤」,以防止恶意攻击行为,比如查看是否是浏览器发出的请求

「UA伪装」是指在HTTP请求头中添加 User-agent ,伪装成浏览器的请求,网站检查请求头时,发现有UA请求头,就会认为是浏览器的请求,从而放行。

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0',}
response = requests.get(url=url, headers=headers)

4. 将响应内容写入文件

响应的内容实际上就是构成页面的 HTML 代码,将响应内容写入HTML文件,就获得了百度搜索的响应页面

fileName = 'a.html'
with open(fileName, 'w', encoding='utf-8') as fp:
    fp.write(response.text)

5. 使用浏览器打开页面

页面生成以后肯定不能再手动打开,那也太low了,使用默认「浏览器」自动打开生成的页面

webbrowser.open(fileName)

源码如下

import webbrowser
import requests
kw = input('百度一下:')
url = 'https://www.baidu.com/s?wd=' + kw
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0',}
response = requests.get(url=url, headers=headers)
fileName = 'a.html'
with open(fileName, 'w', encoding='utf-8') as fp:
    fp.write(response.text)
webbrowser.open(fileName)

输入想要百度的内容,按下回车

即可自动使用默认浏览器打开搜索结果的页面

 到此这篇关于Python10行代码实现模拟百度搜索的示例的文章就介绍到这了,更多相关Python 模拟百度搜索内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Matplotlib制作动态图的示例详解

    使用Matplotlib制作动态图的示例详解

    matplotlib是一个著名的python绘图库,由于其灵活强大的绘图功能使得在python中可视化变得非常容易,本文主要介绍了在matplotlib库中制作动态图的方法,需要的可以参考一下
    2023-06-06
  • python套接字流重定向实例汇总

    python套接字流重定向实例汇总

    套接字是一种具有之前所说的“通信端点”概念的计算网络数据结构。相当于电话插口,没它无法通信,这个比喻非常形象。今天我们就来汇总一下套接字流重定向的实例
    2016-03-03
  • PyCharm 设置SciView工具窗口的方法

    PyCharm 设置SciView工具窗口的方法

    今天小编就为大家分享一篇PyCharm 设置SciView工具窗口的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 详解Python中的字符串格式化

    详解Python中的字符串格式化

    这篇文章主要为大家介绍了Python中的字符串格式化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 在pycharm上mongodb配置及可视化设置方法

    在pycharm上mongodb配置及可视化设置方法

    今天小编就为大家分享一篇在pycharm上mongodb配置及可视化设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python中OrderedDict的使用方法详解

    python中OrderedDict的使用方法详解

    本篇文章主要介绍了python中OrderedDict的使用方法详解,非常具有实用价值,需要的朋友可以参考下
    2017-05-05
  • Python中列表元素转为数字的方法分析

    Python中列表元素转为数字的方法分析

    这篇文章主要介绍了Python中列表元素转为数字的方法,结合实例形式对比分析了Python列表操作及数学运算的相关技巧,需要的朋友可以参考下
    2016-06-06
  • Pandas统计重复的列里面的值方法

    Pandas统计重复的列里面的值方法

    今天小编就为大家分享一篇Pandas统计重复的列里面的值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python中两个列表数字相加的4种方法示例详解

    Python中两个列表数字相加的4种方法示例详解

    这篇文章主要给大家介绍了关于Python中两个列表数字相加的4种方法,我们可以使用Python的加号和减号运算符来实现两个数字的相加减,需要的朋友可以参考下
    2023-08-08
  • python的faker库用法

    python的faker库用法

    今天小编就为大家分享一篇python的faker库用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11

最新评论