社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

Python绿色通道 • 4 年前 • 719 次点击  

↑ 关注 + 星标 ,每天学Python新技能

后台回复【大礼包】送你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 webbrowserimport requestskw = input('百度一下:')


    
url = 'https://www.baidu.com/s?wd=' + kwheaders = {'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






    
  1. 34个Python 自动化办公库清单

  2. 用Python写了一个窃取摄像头照片的软件

  3. PyCharm是真的强!!!

  4. 神器 jupyter,终于来了!



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/136331