Python Requests 丨爬虫基础入门
據說:看我文章的帥帥 都有個習慣:先點贊、收藏再看
目錄
??? 一、背景知識:requests
🏀? 1、pip安裝requests
🏈? 2、pycharm安裝requests
????3、一行代碼使用requests
🎾??4、requests常用調用(get、post)
🏐??5、requests返回參數
🕷 二、蜘蛛的背景知識
🏉??1、蜘蛛的應用場景
🎱??2、動態ip的好
🏆? 三、代理ip
?? 1、生成代理api
🏇? 2、api生成代理ip
🚴? 3、測試代理ip
🎿? 四、代理訪問
? 文末福利丨包郵送書 ?
🍅 1、三連送書
🍅 2、資料白嫖
🍅 聯系作者:?不吃西紅柿?
🍅 作者簡介:CSDN 博客專家丨全站 Top 10🏆、HDZ 核心組成員、信息技術智庫公號號主
🍅 簡歷模板、PPT 模板、學習資料、技術互助。關注我,都給你
很多人看西紅柿的博客,花里胡哨的不知道從何學起,為了廣大人民群眾的根本利益,我決定寫一個閱讀指引,按照這個指引進行學習,多加練習,假以時日,勢必能夠……算了,還是看你自己能學多少以及能夠堅持到哪里了。加油!少年!畢竟收藏 = 學會
| 全網最全丨 Python 快速入門專欄 | 入門級 | 沒有語言基礎,感興趣的大學生 |
| 全網最黑丨 Python 黑科技專欄 | 黑科技級 | 有一定的基礎,學以致用 |
| 大數據知識體系丨集錦專欄 | 工作/就業 | 大數據領域從業者,就業升職加薪 |
| 信息技術智庫社區 | 吹水/互助 | 互聯網相關人員,白嫖獎品丨官方活動 |
一、背景知識:requests
欲練此功、必須先了解背景知識。python之所以強大,一個重要的原因就是,拿來即用的代碼庫豐富!
Python內置的urllib模塊,用于訪問網絡資源。但是,它用起來比較麻煩,也缺少很多實用的高級功能。
更好的方案是使用requests
-
get方法
-
post方法
-
header參數,模擬用戶
-
data參數,提交數據
-
proxies參數,使用代理
1、pip安裝requests
pip?install?requests2、pycharm安裝requests
舉一反四,其它包的安裝方法類似!
?
?
3、示例:一行代碼使用requests
導入 Requests 模塊:
import?requests然后,嘗試獲取某個網頁。本例子中,我們來獲取 Github 的公共時間線:
r?=?requests.get('https://api.github.com/events')4、requests常用調用(get、post)
-
GET 變量接受所有以 get 方式發送的請求,及瀏覽器地址欄中的 ?之后的內容。
-
POST 變量接受所有以 post 方式發送的請求,例如,一個 form 以 method=post 提交
-
REQUEST 支持兩種方式發送過來的請求,即 post 和 get 它都可以接受,顯示不顯示要看傳遞方法,get 會顯示在 url 中(有字符數限制),post 不會在 url 中顯示,可以傳遞任意多的數據(只要服務器支持)。
5、requests返回參數
-
r.status_code HTTP請求的返回狀態,200表示連接成功,404表示失敗
-
r.text HTTP響應內容的字符串形式,即url對應的頁面內容
-
r.encoding 從HTTP header中猜測的響應內容編碼方式(
-
r.apparent_encoding 從內容中分析出的響應內容編碼方式(備選編碼方式)
-
r.content HTTP響應內容的二進制形式
🕷 二、蜘蛛的背景知識
1、蜘蛛的應用場景
玩python的小伙伴,相信都聽過蜘蛛🕷吧,他有以下10個方面的妙用,本文中,西紅柿🍅將帶領大家玩一下。
?
| 品牌保護 | 通過監控網絡上的商標來保護品牌。 |
| 競爭對手情報 | 在不被屏蔽的情況下,抓取競爭對手公開數據信息, |
| 廣告驗證 | 確保廣告在任何地點任何場景被正確的展示 |
| 抓取和索引 | 一個站點可能會將抓取限制為每分鐘幾個請求,但它們有數千萬個頁面。 |
| 網站測試 | 準確的測試始于設置正確的參數和正確的環境。 |
| 郵件保護 | 保護敏感數據通信,利用代理服務器應對網絡攻擊。 |
| 股市數據 | 大規模獲取最新的股市信息。 |
| 搜索引擎優化監控 | 使用我們的實時爬蟲,監控您的SEO實時情況。 |
| 市場調查 | 從任何位置獲取準確的信息,例如可用性和價格。 |
| 旅游聚合 | 使用爬蟲獲取正確的機票價格和酒店價格。 |
2、動態ip的好
為什么要使用動態住宅IP?
真正的住宅IP地址,這意味著在您請求訪問時被阻止的可能性較小并且成功率更高。
-
無限并發
-
IP可用率>98%
-
API調用頻率:1秒
-
HTTP、HTTPS和SOCKS5 協議
三、代理ip
我使用的是代理ip網站,可以白嫖50M流量:
http://www.ipidea.net/?utm-source=csdn_bcxhx&utm-keyword=?csdn_bcxhx?
1、生成代理api
?
?
到此,你拿到了代理ip的api鏈接,記得復制保存,等下要用。
如果你訪問這個api鏈接,會發現你拿到了ip和端口。
2、api生成代理ip
????def?get_proxie(self,?api_url):#?微信搜:信息技術智庫,回復'源碼'user_agent?=?'Mozilla/5.0?(Linux;?Android?10;?EVR-AL00?Build/HUAWEIEVR-AL00;?wv)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Version/4.0?Chrome/74.0.3729.186?Mobile?Safari/537.36?baiduboxapp/11.0.5.12?(Baidu;?P1?10)'headers?=?{'User-Agent':?user_agent}res?=?requests.post(api_url,headers=headers,?verify=True)proxie?=?"https://%s"%(res.text)proxies?=?{'http':?proxie}is_valid,?proxies?=?visitor.proxie_check(proxies)return?is_valid,?proxies3、測試代理ip
??def?proxie_check(self,?proxies):user_agent?=?'Mozilla/5.0?(Linux;?Android?10;?EVR-AL00?Build/HUAWEIEVR-AL00;?wv)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Version/4.0?Chrome/74.0.3729.186?Mobile?Safari/537.36?baiduboxapp/11.0.5.12?(Baidu;?P1?10)'headers?=?{'User-Agent':?user_agent}res?=?requests.get("https://bbs.csdn.net/forums/ITID",?headers=headers,?proxies=proxies)is_valid?=?0if?res.status_code?==?200?and?"msg"?not?in?str(proxies):is_valid?=?1return?is_valid,?proxies四、代理訪問
在上一步中,我們拿到了代理ip。 西紅柿使用的是ipidea: ?可白嫖50M流量?
當然,你如果還有其他方法,歡迎架微notomoto 進Python裙交流。
代碼解釋:
-
url為訪問的地址
-
proxies=proxie 為使用代理
獲取完整代碼:公眾號信息技術智庫,回復源碼
到此,西紅柿演示了:使用代碼ip訪問網站,這是一個簡單的蜘蛛原型。 基于這個加以優化,可以實現很多有意思的事情,嘿嘿嘿,點到為止。
? 文末福利丨包郵送書 ?
🍅 送書規則
1、兩種參與方式:
-
三連文章:西紅柿會在發文后2-3天,從評論區選出4-6位走心評論,需要同時收藏和點贊。
-
訪問社區:在社區點贊評論或發帖,即會出現在《社區積分榜》,每周挑選2-3位小伙伴。?社區地址:https://bbs.csdn.net/forums/ITID
2、中獎通知:CSDN評論區、私信、Python全棧技術群里通知。
3、補充說明:選中者提供收貨地址和想要的書名,很多人問我該選哪一本,大家可以根據興趣、參考價值來選,西紅柿把官網價也附上了。
?
| 《Python 3.x基礎教程》 | https://item.jd.com/12542555.html | 60 |
| 《Python編程完全自學教程》 | https://item.jd.com/13130464.html | 99 |
| 《Python入門到人工智能實戰》 | https://item.jd.com/12648361.html | 79 |
| 《Python量化金融編程從入門到精通》 | https://item.jd.com/13045490.html | 79 |
| 《Python網絡編程從入門到精通》 | https://item.jd.com/12659295.html | 69 |
| 《人工智能數學基礎與 Python機器學習實戰》 | https://item.jd.com/13504186.html | 79 |
| 《git從入門到精通》 | https://item.jd.com/12793056.html | 49 |
| 《黑客攻防從入門到精通》 | https://item.jd.com/12051029.html | 69 |
🍟 Python理論基礎:全網最全丨 Python 快速入門專欄
🍇 Python練習應用:全網最黑丨 Python 黑科技專欄
?
🍅 2、資料白嫖、技術互助
| 🍅 硬核資料 | 8大類丨20G 學習資料 + 行業資料 + 面試資料 |
| 🍅 交流加群 | 互幫互助、指點迷津、求資源在群里喊一聲 |
| 🍅 面試題庫 | 技術群小伙伴們共同投稿,熱乎的大廠面試真題 |
| 🍅 源碼獲取 | 微信搜【信息技術智庫】回復源碼 |
| 👇👇👇 領取資料、技術互助?👇👇👇 |
總結
以上是生活随笔為你收集整理的Python Requests 丨爬虫基础入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 概率论基础知识各种分布
- 下一篇: 【每日SQL打卡】