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

作者:士别三日wyx 时间:2022-07-19 17:10:57 

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

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

1. 获取百度搜索接口

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

地址栏中有很多参数,但实际有用的参数只有 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行代码实现模拟百度搜索的示例

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

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

来源:https://blog.csdn.net/wangyuxiang946/article/details/122082169

标签:Python,百度搜索
0
投稿

猜你喜欢

  • Python爬虫之BeautifulSoup的基本使用教程

    2022-03-27 18:35:31
  • Go语言中并发的工作原理

    2024-05-08 10:13:25
  • JavaScript缓动动画函数的封装方法

    2023-08-07 10:48:26
  • python Django框架快速入门教程(后台管理)

    2022-04-17 11:43:12
  • PHP使用自定义key实现对数据加密解密的方法

    2023-08-21 12:48:37
  • php预定义常量

    2023-11-14 10:35:27
  • 用asp实现的代码批量修改程序

    2007-09-24 13:31:00
  • python调用摄像头显示图像的实例

    2021-07-18 20:46:58
  • Python批量修改文本文件内容的方法

    2022-07-16 08:37:43
  • 手把手带你走进Go语言之常量解析

    2024-05-08 10:44:38
  • Go语言带缓冲的通道实现

    2024-02-08 18:34:13
  • OpenCV-Python模板匹配人眼的实例

    2022-10-22 06:09:23
  • Python中的With语句的使用及原理

    2023-03-16 01:01:23
  • selenium+python实现文件上传操作的方法实例

    2022-05-06 13:21:49
  • python用线性回归预测股票价格的实现代码

    2023-01-24 02:14:31
  • 解析:怎样掌握SQL Server中的数据查询

    2009-01-19 13:30:00
  • Python爬虫利用多线程爬取 LOL 高清壁纸

    2023-02-10 15:07:25
  • pycharm中import导入包呈现灰色的问题及解决

    2023-10-03 23:12:10
  • Javascript 获取css属性

    2009-05-31 16:49:00
  • pygame游戏之旅 创建游戏窗口界面

    2022-05-19 18:42:00
  • asp之家 网络编程 m.aspxhome.com