Python10行代碼實(shí)現(xiàn)模擬百度搜索的示例
1000塊錢做個(gè)百度?能提出這種要求的客戶實(shí)乃乙方克星、民族之光、科創(chuàng)永動(dòng)機(jī)、西虹市一大杰出青年,諾獎(jiǎng)永遠(yuǎn)得不到的人才。
但作為一個(gè)硬核的程序員,沒有什么功能是我們實(shí)現(xiàn)不了的,如果有,那就是錢沒到位。因此,我們要用魔法打敗魔法,10行代碼給他寫一個(gè)百度搜索。
1. 獲取百度搜索接口

地址欄中有很多參數(shù),但實(shí)際有用的參數(shù)只有 wd ,只需要保留這一個(gè)參數(shù)即可,其余刪掉。
url = 'https://www.baidu.com/s?wd=士別三日wyx'
2. 指定搜索內(nèi)容
搜索內(nèi)容肯定不能寫死,需要由用戶「輸入」
kw = input('百度一下:')
url = 'https://www.baidu.com/s?wd=' + kw
3. UA偽裝
利用百度的接口發(fā)送「請(qǐng)求」,獲取響應(yīng)內(nèi)容。
大部分網(wǎng)站都會(huì)對(duì)用戶的請(qǐng)求進(jìn)行「過濾」,以防止惡意攻擊行為,比如查看是否是瀏覽器發(fā)出的請(qǐng)求
「UA偽裝」是指在HTTP請(qǐng)求頭中添加 User-agent ,偽裝成瀏覽器的請(qǐng)求,網(wǎng)站檢查請(qǐng)求頭時(shí),發(fā)現(xiàn)有UA請(qǐng)求頭,就會(huì)認(rèn)為是瀏覽器的請(qǐng)求,從而放行。
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. 將響應(yīng)內(nèi)容寫入文件
響應(yīng)的內(nèi)容實(shí)際上就是構(gòu)成頁(yè)面的 HTML 代碼,將響應(yīng)內(nèi)容寫入HTML文件,就獲得了百度搜索的響應(yīng)頁(yè)面
fileName = 'a.html'
with open(fileName, 'w', encoding='utf-8') as fp:
fp.write(response.text)
5. 使用瀏覽器打開頁(yè)面
頁(yè)面生成以后肯定不能再手動(dòng)打開,那也太low了,使用默認(rèn)「瀏覽器」自動(dòng)打開生成的頁(yè)面
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)
輸入想要百度的內(nèi)容,按下回車

即可自動(dòng)使用默認(rèn)瀏覽器打開搜索結(jié)果的頁(yè)面

到此這篇關(guān)于Python10行代碼實(shí)現(xiàn)模擬百度搜索的示例的文章就介紹到這了,更多相關(guān)Python 模擬百度搜索內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python使用Selenium自動(dòng)進(jìn)行百度搜索的實(shí)現(xiàn)
- Python通過tkinter實(shí)現(xiàn)百度搜索的示例代碼
- Python爬蟲爬取百度搜索內(nèi)容代碼實(shí)例
- python采集百度搜索結(jié)果帶有特定URL的鏈接代碼實(shí)例
- python+selenium實(shí)現(xiàn)自動(dòng)化百度搜索關(guān)鍵詞
- python實(shí)現(xiàn)百萬答題自動(dòng)百度搜索答案
- python實(shí)現(xiàn)提取百度搜索結(jié)果的方法
- Python實(shí)現(xiàn)抓取百度搜索結(jié)果頁(yè)的網(wǎng)站標(biāo)題信息
相關(guān)文章
python中DataFrame數(shù)據(jù)合并merge()和concat()方法詳解
Pandas提供了很多合并Series和Dataframe的強(qiáng)大的功能,通過這些功能可以方便的進(jìn)行數(shù)據(jù)分析,下面這篇文章主要給大家介紹了關(guān)于python中DataFrame數(shù)據(jù)合并merge()和concat()方法的相關(guān)資料,需要的朋友可以參考下2022-07-07
Python3.6+selenium2.53.6自動(dòng)化測(cè)試_讀取excel文件的方法
這篇文章主要介紹了Python3.6+selenium2.53.6自動(dòng)化測(cè)試_讀取excel文件的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
Python中break語句和continue語句的用法講解
在Python中,break語句和continue語句一般用于循環(huán)語句中,這篇文章主要介紹了Python中break語句和continue語句的用法小結(jié),需要的朋友可以參考下2022-12-12
Django執(zhí)行源生mysql語句實(shí)現(xiàn)過程解析
這篇文章主要介紹了Django執(zhí)行源生mysql語句實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
關(guān)于SSD目標(biāo)檢測(cè)模型的人臉口罩識(shí)別
這篇文章主要介紹了關(guān)于SSD目標(biāo)檢測(cè)模型的人臉口罩識(shí)別問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
Python返回?cái)?shù)組/List長(zhǎng)度的實(shí)例
今天小編就為大家分享一篇Python返回?cái)?shù)組/List長(zhǎng)度的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
pandas創(chuàng)建DataFrame對(duì)象失敗的解決方法
本文主要介紹了pandas創(chuàng)建DataFrame對(duì)象失敗的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
Python內(nèi)置函數(shù)——__import__ 的使用方法
本篇文章主要介紹了Python內(nèi)置函數(shù)——__import__ 的使用方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
Python Pygame實(shí)戰(zhàn)之憤怒的小鳥游戲?qū)崿F(xiàn)
《憤怒的小鳥》其實(shí)活得還不錯(cuò),盡管我們一直在嘲笑它的IP帝國(guó)夢(mèng)做得太大。但要知道,把休閑益智游戲的生意做到這個(gè)份上的,恐怕也就獨(dú)此一家了。本文將利用Pygame實(shí)現(xiàn)這一游戲,需要的可以參考一下2022-04-04

