客户给100块要做个百度,我用10行Python代码搞定

Posted Python小二

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了客户给100块要做个百度,我用10行Python代码搞定相关的知识,希望对你有一定的参考价值。

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

但作为一个硬核的程序员,没有什么功能是我们实现不了的,如果有,那就是钱没到位。因此,我们要用魔法打败魔法,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)

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

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

客户很满意~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/wangyuxiang946/article/details/122082169

往期回顾:

以上是关于客户给100块要做个百度,我用10行Python代码搞定的主要内容,如果未能解决你的问题,请参考以下文章

我用了100行Python代码,实现了与女神尬聊微信(附代码)

我用Python连夜离线了100G图片,只为了防止网站被消失

我用Python连夜离线了100G图片,只为了防止网站被消失

还在找远控?来看我用十几行python代码写个简易远程控制

谈谈分布式事务

sqlserver2005,要做个时间表