最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

手把手帶你用python爬取小姐姐私房照

 更新時間:2021年08月24日 09:33:39   作者:退休的龍叔  
這篇文章主要介紹了用python如何爬取小姐姐私房照,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

如何用Python搞到小姐姐私房照

本文純技術角度出發(fā),教你如何用Python爬蟲獲取百度圖庫海量照片——技術無罪。

學會獲取小姐姐私房照同理可得也能獲取其他的照片,技術原理是一致的。

目標站點

百度圖片使用關鍵字搜索 小姐姐私房照

https://image.baidu.com/

開發(fā)環(huán)境

  • 系統(tǒng):Windows10 64位
  • Python版本:Python3.6.5(Python3以上版本即可)
  • IDE:Pycharm(非必須,其實你完全可以記事本寫代碼)
  • 第三方庫:requests、jsonpath

效果預覽

網(wǎng)頁私房照

在這里插入圖片描述

代碼爬取效果

在這里插入圖片描述

正式教程

一、第三方庫安裝

在確保你正確安裝了Python解釋器之后,我們還需要安裝幾個第三方庫,命令如下**[在終端中安裝即可]**:

HTTP請求庫:

pip3 install requests

JSON數(shù)據(jù)解析庫:

pip3 install jsonpath

二、爬蟲的基本套路

  • 不管是爬取哪類網(wǎng)站,在爬蟲中基本都遵循以下的基本套路:

     請求數(shù)據(jù) → 獲取響應內(nèi)容 → 解析內(nèi)容 → 保存數(shù)據(jù)

在這里插入圖片描述

  • 當然,以上步驟是代碼的編寫思路,實際操作中應該還要添加一個前置步驟,所以完整流程如下:

     分析目標站點 → 請求網(wǎng)站獲取數(shù)據(jù) → 解析內(nèi)容 → 保存數(shù)據(jù)

在這里插入圖片描述

分析目標站點

快速的分析目標站點就很容易發(fā)現(xiàn)百度圖庫的圖片資源是通過AJAX加載的,所以我們要請求的鏈接并非瀏覽器地址欄鏈接,而是ajax加載的數(shù)據(jù)包的資源路徑,如圖:
在這里插入圖片描述

那么問題來了,如何獲取到這些數(shù)據(jù)包的地址?其實很簡單,如圖所示:

在這里插入圖片描述

請求網(wǎng)站獲取數(shù)據(jù)

編寫代碼請求資源,這里有一點需要注意:請求頭必須攜帶,否則有可能請求失敗導致報錯。

import requests  # 導包

# 構建請求頭,把爬蟲程序偽裝成正常的瀏覽器用戶
headers = {
    'sec-fetch-dest': 'image',
    'Host': 'image.baidu.com',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 Edg/89.0.774.50',
}
# 資源包的url鏈接
url = 'https://image.baidu.com/search/acjson?tn=resultjson_com&logid=10913526997707526921&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E5%B0%8F%E5%A7%90%E5%A7%90%E7%A7%81%E6%88%BF%E7%85%A7&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=&hd=&latest=&copyright=&word=%E5%B0%8F%E5%A7%90%E5%A7%90%E7%A7%81%E6%88%BF%E7%85%A7&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&expermode=&force=&pn=210&rn=30&gsm=d2&1616553658252='

# 構建請求
response = requests.get(url,headers=headers)
# 查看狀態(tài)碼
print(response.status_code)
# 獲取原始數(shù)據(jù)
response.json()

解析數(shù)據(jù)

上述代碼最終獲取到的數(shù)據(jù)是json數(shù)據(jù),也就是我們Python中常說的字典,它長這樣:

{
    "queryEnc":"%D0%A1%BD%E3%BD%E3%CB%BD%B7%BF%D5%D5",
    "queryExt":"小姐姐私房照",
    "listNum":758,
    "displayNum":8392,
    "gsm":"f0",
    "bdFmtDispNum":"約8,390",
    "bdSearchTime":"",
    "isNeedAsyncRequest":0,
    "bdIsClustered":"1",
    "data":[
        Object{...},   # 沒張私房照對應的詳細信息,其中就有圖片的URL 
        Object{...},
        ···
}

既然它是一個字典,我們當然是可以使用Python中的鍵值索引方式獲取到想要的數(shù)據(jù),但是此方法太笨,這里介紹一種更加高明的方式,使用jsonpath解析數(shù)據(jù)

# 這一行代碼便可以獲取到所有圖片的URL,返回的是一個列表,遍歷即可拿到每一個URL
imgs = jsonpath.jsonpath(json_data, '$..middleURL')

使用requests請求圖片URL,獲取圖片數(shù)據(jù)

image_data = requests.get(page_url).content

保存數(shù)據(jù)

使用Python中的文件對象,保存圖片,圖片名字使用時間戳命名,避免圖片重名

with open('imgs/' + datetime.now().strftime("%Y%m%d%H%M%S%f") + '.jpg', 'wb') as f:
     f.write(image_data)

寫在最后

到這整個兒爬蟲程序就寫完了。

當然,當前的這個只能爬取一個資源包中的數(shù)據(jù),要爬取多個資源包或者說全部資源包的數(shù)據(jù)也是很簡單的,只需要分析分析資源包的URL變化規(guī)律就不難發(fā)現(xiàn)其中的某個關鍵字變化,靈活改變該關鍵字就可以不斷爬取。

文章正文到這里已經(jīng)結束了,只是想感謝一些閱讀我文章的人。

我退休后一直在學習如何寫文章,說實在的,每次我在后臺看到一些讀者的回應就會覺得很欣慰,于是我想把我收藏的一些編程干貨貢獻給大家,回饋每一個讀者,希望能幫到你們。

到此這篇關于手把手帶你用python爬取小姐姐私房照的文章就介紹到這了,更多相關python爬取圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在pycharm中執(zhí)行 os.makedirs 提示用戶名或密碼不正確的問題及解決方法

    在pycharm中執(zhí)行 os.makedirs 提示用戶名或密碼不正確的問題及解決方法

    這篇文章主要介紹了在pycharm中執(zhí)行 os.makedirs 提示用戶名或密碼不正確的問題及解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Python獲取和設置代理的動態(tài)IP的方式

    Python獲取和設置代理的動態(tài)IP的方式

    在網(wǎng)絡世界中,代理和動態(tài)IP是非常常見的概念,尤其對于需要大規(guī)模訪問網(wǎng)站或者需要隱藏真實IP地址的應用程序來說,更是必不可少的工具,本文將給大家介紹如何使用編程技術來實現(xiàn)動態(tài)IP的設置和管理,需要的朋友可以參考下
    2024-05-05
  • Django中幾種重定向方法

    Django中幾種重定向方法

    這篇文章主要介紹了Django中幾種重定向方法,本文講解了使用HttpResponseRedirect、redirect、reverse以及配置文件中配置URL等方法,需要的朋友可以參考下
    2015-04-04
  • python 調(diào)用js的四種方式

    python 調(diào)用js的四種方式

    這篇文章主要介紹了python 調(diào)用js的四種方式,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-04-04
  • Python實現(xiàn)數(shù)據(jù)庫與Excel文件之間的數(shù)據(jù)自動化導入與導出

    Python實現(xiàn)數(shù)據(jù)庫與Excel文件之間的數(shù)據(jù)自動化導入與導出

    數(shù)據(jù)庫和Excel文件是兩種常見且重要的數(shù)據(jù)存儲方式,本文將介紹如何使用Python有效地實現(xiàn)數(shù)據(jù)庫與Excel文件之間的數(shù)據(jù)自動化導入與導出,以SQLite數(shù)據(jù)庫為例,需要的朋友可以參考下
    2024-06-06
  • 一文帶你深入理解Python魔法方法

    一文帶你深入理解Python魔法方法

    在Python中,魔法方法是指那些以雙下劃線開頭和結尾的特殊方法,它們是Python的內(nèi)置方法,對應于Python對象的各種運算符,這篇文章將深入探討Python的一些魔法方法,并通過示例展示如何使用它們,需要的朋友可以參考下
    2023-06-06
  • Python+Tkinter實現(xiàn)簡單的畫圖軟件

    Python+Tkinter實現(xiàn)簡單的畫圖軟件

    這篇文章主要為大家詳細介紹了如何利用Python和Tkinter實現(xiàn)編寫一個簡單的畫圖軟件,可以實現(xiàn)畫圖、保存、撤銷等功能,感興趣的可以了解一下
    2023-04-04
  • python使用opencv實現(xiàn)馬賽克效果示例

    python使用opencv實現(xiàn)馬賽克效果示例

    這篇文章主要介紹了python使用opencv實現(xiàn)馬賽克效果,結合實例形式分析了Python使用cv2模塊操作圖片實現(xiàn)馬賽克效果的相關技巧,需要的朋友可以參考下
    2019-09-09
  • 使用Python從圖像中提取文本OCR庫的操作詳解

    使用Python從圖像中提取文本OCR庫的操作詳解

    光學字符識別(OCR, Optical Character Recognition)是一種將印刷或手寫文本從圖像、PDF或掃描件中提取為機器可讀文本的技術,使用Python進行OCR處理,開發(fā)者可以輕松調(diào)用各種OCR庫,所以本文將給大家介紹使用Python從圖像中提取文本OCR庫的操作
    2024-08-08
  • Python 在 VSCode 中使用 IPython Kernel 的方法詳解

    Python 在 VSCode 中使用 IPython Kernel 的方法詳解

    這篇文章主要介紹了Python 在 VSCode 中使用 IPython Kernel 的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09

最新評論

突泉县| 荥阳市| 枣强县| 上林县| 黑龙江省| 塔城市| 东山县| 肥乡县| 如皋市| 含山县| 巴南区| 府谷县| 伊通| 汾阳市| 桑植县| 清丰县| 南召县| 嘉祥县| 黑龙江省| 耒阳市| 岑巩县| 马关县| 泸西县| 新密市| 额济纳旗| 高碑店市| 屏东县| 徐闻县| 栖霞市| 赤壁市| 铜山县| 定襄县| 扶风县| 常德市| 西藏| 三门峡市| 克山县| 延长县| 伊金霍洛旗| 安达市| 离岛区|