Python10行代碼實現模擬百度搜索的示例
1000塊錢做個百度?能提出這種要求的客戶實乃乙方克星、民族之光、科創永動機、西虹市一大傑出青年,諾獎永遠得不到的人才。
但作為一個硬核的程序員,沒有什麼功能是我們實現不瞭的,如果有,那就是錢沒到位。因此,我們要用魔法打敗魔法,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)
輸入想要百度的內容,按下回車
即可自動使用默認瀏覽器打開搜索結果的頁面
到此這篇關於Python10行代碼實現模擬百度搜索的示例的文章就介紹到這瞭,更多相關Python 模擬百度搜索內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python Requests爬蟲之求取關鍵詞頁面詳解
- Python爬蟲必備技巧詳細總結
- python3 requests 各種發送方式詳解
- Python實現爬取某站視頻彈幕並繪制詞雲圖
- Python爬蟲入門教程02之筆趣閣小說爬取