Python爬蟲基本庫request的基本使用
request
用urllib去處理網(wǎng)頁驗證和Cookies時,需要寫Opener和Handler來處理,很不方便,這里我們學習更為強大的庫request
get()
實例:
import requests #導入requests html = requests.get('https://www.csdn.net/')#使用get方法獲取頁面信息 print(html.text)#調(diào)取text屬性查看頁面代碼
添加參數(shù)使用param+字典
import requests # 導入requests data = { 'jl': '765', 'kw': 'python', 'kt': '3' } html = requests.get('https://sou.zhaopin.com/',params=data) # 添加參數(shù) print(html.text) # 調(diào)取text屬性查看頁面代碼
添加headers使用headers+字典
import requests # 導入requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36' } data = { 'jl': '765', 'kw': 'python', 'kt': '3' } html = requests.get('https://sou.zhaopin.com/',headers=headers,params=data) # 添加參數(shù) print(html.text) # 調(diào)取text屬性查看頁面代碼
高級用法
cookies設(shè)置,代理設(shè)置等
Cookies
獲取cookies:
import requests # 導入requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36' } data = { 'jl': '765', 'kw': 'python', 'kt': '3' } html = requests.get('https://blog.csdn.net/qq_40966461/article/details/104974998',headers=headers,params=data) # 添加參數(shù) print(html.cookies) # 調(diào)取text屬性查看頁面代碼 for key,value in html.cookies.items(): print(key+'='+value)
很簡單,直接獲取cookies屬性即可
維持會話Session()
在requests中,如果直接利用get()或post()等方法可以做到模擬網(wǎng)頁的請求,但是這實際上時相當于不同的會話,相當于用了兩個瀏覽器打開了不同的頁面,這時需要用session對象來維護對話
import requests # 導入requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36' } data = { 'jl': '765', 'kw': 'python', 'kt': '3' } html = requests.Session().get('https://blog.csdn.net/qq_40966461/article/details/104974998',headers=headers,params=data) # 添加參數(shù) print(html.cookies) # 調(diào)取text屬性查看頁面代碼 for key,value in html.cookies.items(): print(key+'='+value)
調(diào)用requests模塊中g(shù)et方法時先創(chuàng)建一個Session對象
SSL證書驗證
import requests # 導入requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36' } response = requests.get('http://www.12306.cn',headers=headers,verify = False) print(response.status_code)
verify=False即可
代理設(shè)置
import requests # 導入requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36' } proxies = { "http":"http://183.166.132.176", "https":"https://183.166.132.176" } response = requests.get('http://www.12306.cn',headers=headers,proxies=proxies,verify = False) print(response.status_code)
添加proxies即可,代理可以搜索快代理
超時設(shè)置
加參數(shù)timeout= 1
身份認證
get中添加參數(shù) auth=(‘username’,‘password’)
到此這篇關(guān)于Python爬蟲基本庫request的基本使用的文章就介紹到這了,更多相關(guān)Python爬蟲request庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python線程池thread?pool創(chuàng)建使用及實例代碼分享
這篇文章主要介紹了Python線程池(thread?pool)創(chuàng)建使用及實例代碼分享,文章圍繞主題展開詳細的內(nèi)容介紹具有一定的參考價值,需要的小伙伴可以參考一下2022-06-06python為什么會環(huán)境變量設(shè)置不成功
在本篇文章里小編給大家分享的是一篇關(guān)于python環(huán)境變量設(shè)置不成功怎么辦的解決方法內(nèi)容,有興趣的朋友們可以跟著學習下。2020-06-06Python神奇的內(nèi)置函數(shù)locals的實例講解
今天小編就為大家分享一篇關(guān)于Python神奇的內(nèi)置函數(shù)locals的實例講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02使用 NumPy 和 Matplotlib 繪制函數(shù)圖
Matplotlib 是 Python 的繪圖庫。 它可與 NumPy 一起使用,提供了一種有效的 MatLab 開源替代方案。 它也可以和圖形工具包一起使用,如 PyQt 和 wxPython2021-09-09Pycharm中配置使用Anaconda的虛擬環(huán)境進行項目開發(fā)的圖文教程
今天在一臺電腦上跑環(huán)境的時候,發(fā)現(xiàn)已經(jīng)裝了Pytorch了,但是運行沒有用,提示報錯:OSError:?[WinError?126]?找不到指定的模塊,但其實cmd進入虛擬環(huán)境是可以調(diào)用torch的,故本文給大家介紹了Pycharm中配置使用Anaconda的虛擬環(huán)境進行項目開發(fā)的圖文教程2024-09-09