今天介紹個神奇的網站!堪稱爬蟲偷懶的神器!
我們在寫爬蟲,構建網絡請求的時候,不可避免地要添加請求頭( headers ),以 mdn 學習區為例,我們的請求頭是這樣的:
一般來說,我們只要添加 user-agent 就能滿足絕大部分需求了,Python 代碼如下:
在學習過程中有什么不懂得可以加我的
python學習交流扣扣qun,784758214
群里有不錯的學習視頻教程、開發工具與電子書籍。
與你分享python企業當下人才需求及怎么從零基礎學習好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 參數 添加上才能獲得正確的網絡響應,不知道哪個參數是必要的情況下,就要先把所有參數都添加上,再逐個排除。
但是手動復制粘貼 headers 字典里的每一個 鍵值對 太費事了
一個不那么方便的解決方案:
用正則表達式或者直接字符串替換,把 headers 字符串直接轉化為字典,封裝成函數方便以后反復調用。
有的人喜歡用這種方法,每次復制headers信息,然后調用自己封裝好的函數,但我覺得還是挺麻煩的。
那么還有沒有 快速一鍵 生成 Python 爬蟲請求頭的方法呢?
這里給大家介紹兩個:
- 網站在線轉換
- Postman
實戰演練
抓取網站:https://developer.mozilla.org...
網站在線轉換
1,Chrome 打開開發者選項( f12 )---> network 選項卡 ---> 刷新頁面,獲取請求 ---> 找到頁面信息對應的請求 (通過請求的名稱、后綴和 response 內容來判斷)
2,右鍵,copy ---> copy as cURL (bash),注意不是【copy as cURL (cmd)】
3,打開網站,https://curl.trillworks.com/,粘貼 cURL (bash) 到 左邊 curl command,右邊會 自動 出 Python 代碼
4,生成代碼如下圖
5,print ( response.text ) 就可以直接打印網頁源代碼啦!
Postman
1,下載 postman ( Chrome 也有個 postman 的插件,操作應該差不多)
2,打開 postman,彈出的界面可以直接關掉
3,import --> paste raw text,在 Chrome 里復制 curl (bash),粘貼到下面的對話框里,點擊 import 按鈕
4,點擊 send,模擬網絡請求,下方可查看源代碼
5,確保源代碼正常后,點擊 code
6,左上角可以選擇編程語言,右上角復制到剪貼板
大功告成!
如果你依然在編程的世界里迷茫,可以加入我們的Python學習扣qun:784758214,看看前輩們是如何學習的。交流經驗。從基礎的python腳本到web開發、爬蟲、django、數據挖掘等,零基礎到項目實戰的資料都有整理。送給每一位python的小伙伴!分享一些學習的方法和需要注意的小細節,點擊加入我們的 python學習者聚集地
其實我本人平時都是用第一種,網站比較穩定,基本沒出現過異常;有了這個神器就不用自己再構造請求頭了,先一鍵生成,然后再根據需求調一調就好了,幾秒鐘就搞定了。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
