Python10行代碼實(shí)現(xiàn)模擬百度搜索的示例
1000塊錢做個百度?能提出這種要求的客戶實(shí)乃乙方克星、民族之光、科創(chuàng)永動機(jī)、西虹市一大杰出青年,諾獎永遠(yuǎn)得不到的人才。
但作為一個硬核的程序員,沒有什么功能是我們實(shí)現(xiàn)不了的,如果有,那就是錢沒到位。因此,我們要用魔法打敗魔法,10行代碼給他寫一個百度搜索。
1. 獲取百度搜索接口
地址欄中有很多參數(shù),但實(shí)際有用的參數(shù)只有 wd ,只需要保留這一個參數(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ā)送「請求」,獲取響應(yīng)內(nèi)容。
大部分網(wǎng)站都會對用戶的請求進(jìn)行「過濾」,以防止惡意攻擊行為,比如查看是否是瀏覽器發(fā)出的請求
「UA偽裝」是指在HTTP請求頭中添加 User-agent ,偽裝成瀏覽器的請求,網(wǎng)站檢查請求頭時,發(fā)現(xiàn)有UA請求頭,就會認(rèn)為是瀏覽器的請求,從而放行。
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)成頁面的 HTML 代碼,將響應(yīng)內(nèi)容寫入HTML文件,就獲得了百度搜索的響應(yīng)頁面
fileName = 'a.html' with open(fileName, 'w', encoding='utf-8') as fp: fp.write(response.text)
5. 使用瀏覽器打開頁面
頁面生成以后肯定不能再手動打開,那也太low了,使用默認(rèn)「瀏覽器」自動打開生成的頁面
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)容,按下回車
即可自動使用默認(rèn)瀏覽器打開搜索結(jié)果的頁面
到此這篇關(guān)于Python10行代碼實(shí)現(xiàn)模擬百度搜索的示例的文章就介紹到這了,更多相關(guān)Python 模擬百度搜索內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python使用Selenium自動進(jìn)行百度搜索的實(shí)現(xiàn)
- Python通過tkinter實(shí)現(xiàn)百度搜索的示例代碼
- Python爬蟲爬取百度搜索內(nèi)容代碼實(shí)例
- python采集百度搜索結(jié)果帶有特定URL的鏈接代碼實(shí)例
- python+selenium實(shí)現(xiàn)自動化百度搜索關(guān)鍵詞
- python實(shí)現(xiàn)百萬答題自動百度搜索答案
- python實(shí)現(xiàn)提取百度搜索結(jié)果的方法
- Python實(shí)現(xiàn)抓取百度搜索結(jié)果頁的網(wǎng)站標(biāo)題信息
相關(guān)文章
在pycharm上mongodb配置及可視化設(shè)置方法
今天小編就為大家分享一篇在pycharm上mongodb配置及可視化設(shè)置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11Python中列表元素轉(zhuǎn)為數(shù)字的方法分析
這篇文章主要介紹了Python中列表元素轉(zhuǎn)為數(shù)字的方法,結(jié)合實(shí)例形式對比分析了Python列表操作及數(shù)學(xué)運(yùn)算的相關(guān)技巧,需要的朋友可以參考下2016-06-06