客户要求1000块做个百度,Python10行代码解决

简介: Python模拟百度搜索1. 获取百度搜索接口

Python模拟百度搜索

1. 获取百度搜索接口

2. 指定搜索内容

3. UA伪装

4. 将响应内容写入文件

5. 使用浏览器打开页面

源码如下


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

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


1. 获取百度搜索接口

image.png

  地址栏中有很多参数,但实际有用的参数只有 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请求头,就会认为是浏览器的请求,从而放行。


image.png

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)

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

image.png

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

image.png

相关文章
|
1月前
|
开发框架 数据建模 中间件
Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器是那些静悄悄的幕后英雄。它们不张扬,却能默默地为函数或类增添强大的功能。本文将带你了解装饰器的魅力所在,从基础概念到实际应用,我们一步步揭开装饰器的神秘面纱。准备好了吗?让我们开始这段简洁而富有启发性的旅程吧!
36 6
|
4天前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
49 33
|
5天前
|
JavaScript API C#
【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。
31 10
|
25天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
64 8
|
1月前
|
API Python
【Azure Developer】分享一段Python代码调用Graph API创建用户的示例
分享一段Python代码调用Graph API创建用户的示例
51 11
|
1月前
|
测试技术 Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界中,装饰器是那些能够为我们的代码增添魔力的小精灵。它们不仅让代码看起来更加优雅,还能在不改变原有函数定义的情况下,增加额外的功能。本文将通过生动的例子和易于理解的语言,带你领略装饰器的奥秘,从基础概念到实际应用,一起开启Python装饰器的奇妙旅程。
41 11
|
30天前
|
Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器就像是给函数穿上了一件神奇的外套,让它们拥有了超能力。本文将通过浅显易懂的语言和生动的比喻,带你了解装饰器的基本概念、使用方法以及它们如何让你的代码变得更加简洁高效。让我们一起揭开装饰器的神秘面纱,看看它是如何在不改变函数核心逻辑的情况下,为函数增添新功能的吧!
|
30天前
|
程序员 测试技术 数据安全/隐私保护
深入理解Python装饰器:提升代码重用与可读性
本文旨在为中高级Python开发者提供一份关于装饰器的深度解析。通过探讨装饰器的基本原理、类型以及在实际项目中的应用案例,帮助读者更好地理解并运用这一强大的语言特性。不同于常规摘要,本文将以一个实际的软件开发场景引入,逐步揭示装饰器如何优化代码结构,提高开发效率和代码质量。
48 6
|
1月前
|
Python
如何提高Python代码的可读性?
如何提高Python代码的可读性?
43 4
|
1月前
|
Python
Python编程入门:从零开始的代码旅程
本文是一篇针对Python编程初学者的入门指南,将介绍Python的基本语法、数据类型、控制结构以及函数等概念。文章旨在帮助读者快速掌握Python编程的基础知识,并能够编写简单的Python程序。通过本文的学习,读者将能够理解Python代码的基本结构和逻辑,为进一步深入学习打下坚实的基础。