快速一鍵生成Python爬蟲請求頭
今天介紹個神奇的網(wǎng)站!堪稱爬蟲偷懶的神器!
我們在寫爬蟲,構建網(wǎng)絡請求的時候,不可避免地要添加請求頭( headers ),以 mdn 學習區(qū)為例,我們的請求頭是這樣的:
一般來說,我們只要添加 user-agent 就能滿足絕大部分需求了,Python 代碼如下:
import requests headers = { #'authority': 'developer.mozilla.org', #'pragma': 'no-cache', #'cache-control': 'no-cache', #'upgrade-insecure-requests': '1', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 YaBrowser/19.7.0.1635 Yowser/2.5 Safari/537.36', #'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', #'accept-encoding': 'gzip, deflate, br', #'accept-language': 'zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6', #'cookie': 你的cookie, } response = requests.get('https://developer.mozilla.org/zh-CN/docs/learn', headers=headers)
但是有些請求,我們要把特定的 headers 參數(shù)添加上才能獲得正確的網(wǎng)絡響應,不知道哪個參數(shù)是必要的情況下,就要先把所有參數(shù)都添加上,再逐個排除。
但是手動復制粘貼 headers 字典里的每一個鍵值對太費事了
一個不那么方便的解決方案:
用正則表達式或者直接字符串替換,把 headers 字符串直接轉化為字典,封裝成函數(shù)方便以后反復調(diào)用。
有的人喜歡用這種方法,每次復制headers信息,然后調(diào)用自己封裝好的函數(shù),但我覺得還是挺麻煩的。
那么還有沒有快速一鍵生成 Python 爬蟲請求頭的方法呢?
這里給大家介紹兩個:
- 網(wǎng)站在線轉換
- Postman
實戰(zhàn)演練
抓取網(wǎng)站:https://developer.mozilla.org...
網(wǎng)站在線轉換
1,Chrome 打開開發(fā)者選項( f12 )---> network 選項卡 ---> 刷新頁面,獲取請求 ---> 找到頁面信息對應的請求 (通過請求的名稱、后綴和 response 內(nèi)容來判斷)
2,右鍵,copy ---> copy as cURL (bash),注意不是【copy as cURL (cmd)】
3,打開網(wǎng)站,https://curl.trillworks.com/,粘貼 cURL (bash) 到左邊 curl command,右邊會自動出 Python 代碼
4,生成代碼如下圖
5,print ( response.text ) 就可以直接打印網(wǎng)頁源代碼啦!
Postman
1,下載 postman ( Chrome 也有個 postman 的插件,操作應該差不多)
2,打開 postman,彈出的界面可以直接關掉
3,import --> paste raw text,在 Chrome 里復制 curl (bash),粘貼到下面的對話框里,點擊 import 按鈕
4,點擊 send,模擬網(wǎng)絡請求,下方可查看源代碼
5,確保源代碼正常后,點擊 code
6,左上角可以選擇編程語言,右上角復制到剪貼板
大功告成!
其實我本人平時都是用第一種,網(wǎng)站比較穩(wěn)定,基本沒出現(xiàn)過異常;有了這個神器就不用自己再構造請求頭了,先一鍵生成,然后再根據(jù)需求調(diào)一調(diào)就好了,幾秒鐘就搞定了。
以上就是快速一鍵生成Python爬蟲請求頭的詳細內(nèi)容,更多關于快速一鍵生成Python爬蟲請求頭的資料請關注腳本之家其它相關文章!
相關文章
Python強化練習之PyTorch opp算法實現(xiàn)月球登陸器
在面向對象出現(xiàn)之前,我們采用的開發(fā)方法都是面向過程的編程(OPP)。面向過程的編程中最常用的一個分析方法是“功能分解”。我們會把用戶需求先分解成模塊,然后把模塊分解成大的功能,再把大的功能分解成小的功能,整個需求就是按照這樣的方式,最終分解成一個一個的函數(shù)2021-10-10Python異常處理:try、except、else、finally的全面解析
在Python中,異常是程序在運行時發(fā)生的錯誤,當Python解釋器遇到一個它不能處理的錯誤時,它會拋出一個異常,異常處理的主要目的是在程序遇到錯誤時,提供一種方法來處理這些錯誤,而不是簡單地讓程序崩潰,本文介紹了Python異常處理:try、except、else、finally的全面解析2024-07-07Python實現(xiàn)針對給定單鏈表刪除指定節(jié)點的方法
這篇文章主要介紹了Python實現(xiàn)針對給定單鏈表刪除指定節(jié)點的方法,結合實例形式分析了Python單鏈表的定義、節(jié)點添加、刪除、打印等相關操作技巧,需要的朋友可以參考下2018-04-04python實現(xiàn)密度聚類(模板代碼+sklearn代碼)
這篇文章主要介紹了python實現(xiàn)密度聚類(模板代碼+sklearn代碼),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04