Python基于httpx模塊實現(xiàn)發(fā)送請求
一、httpx模塊是什么?
一個用于http請求的模塊,類似于requests、aiohttp;
既能發(fā)送同步請求(是指在單進程單線程的代碼中,發(fā)起一次請求后,在收到返回結(jié)果之前,不能發(fā)起下一次請求),又能發(fā)送異步請求(是指在單進程單線程的代碼中,發(fā)起一次請求后,在等待網(wǎng)站返回結(jié)果的時間里,可以繼續(xù)發(fā)送更多請求)。
二、httpx模塊基礎使用
2.1 httpx模塊安裝
pip install httpx
2.2 httpx模塊基礎使用
import httpx res = httpx.get('http://www.hnxmxit.com/') print( res.status_code ) print( res.headers ) print( res.content.decode('utf8') )
上述代碼是通過httpx模塊發(fā)送一個打開網(wǎng)站首頁的情況,然后返回狀態(tài)碼、響應頭信息的例子,讀者應該發(fā)現(xiàn)和requests很像。
2.2 模擬請求頭
import httpx get_param_data = {'wd':'湖南軟測'} headinfos = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36', 'Accept-Encoding':'gzip,deflate,br', 'Accept-Language':'zh-CN,zh;q=0.9', 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' } response = httpx.get( url='https://www.baidu.com/s',params=get_param_data,headers=headinfos ) print(response.content.decode('utf-8'))
上述代碼完成在百度中搜索 湖南軟測 的例子,其實寫法完全和requests相同
三、小結(jié):
- requests 和 httpx都能模擬發(fā)送請求
- 具一些大神測試后,httpx由于支持異步請求,所以發(fā)送大量的請求時,httpx的效率是優(yōu)于requests的
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python餐飲AI機器人學習數(shù)據(jù)網(wǎng)絡抓取
在餐飲行業(yè),AI機器人可以通過學習大量的相關(guān)數(shù)據(jù)來提供更好的服務和體驗,在文本中,我們將介紹如何使用python進行餐飲A?I機器人學習數(shù)據(jù)的網(wǎng)絡抓取,并提供代碼的示例和最佳實踐2023-12-12python使用BeautifulSoup分析網(wǎng)頁信息的方法
這篇文章主要介紹了python使用BeautifulSoup分析網(wǎng)頁信息的方法,涉及Python使用BeautifulSoup模塊分析網(wǎng)頁信息的技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04Python面經(jīng)之16個高頻面試問題總結(jié)
這篇文章主要給大家介紹了關(guān)于Python面經(jīng)之16個高頻面試問題的相關(guān)資料,幫助大家回顧基礎知識,了解面試套路,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-03-03