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

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

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

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

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

學(xué)會(huì)獲取小姐姐私房照同理可得也能獲取其他的照片,技術(shù)原理是一致的。

目標(biāo)站點(diǎn)

百度圖片使用關(guān)鍵字搜索 小姐姐私房照

https://image.baidu.com/

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

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

效果預(yù)覽

網(wǎng)頁私房照

在這里插入圖片描述

代碼爬取效果

在這里插入圖片描述

正式教程

一、第三方庫安裝

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

HTTP請(qǐng)求庫:

pip3 install requests

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

pip3 install jsonpath

二、爬蟲的基本套路

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

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

在這里插入圖片描述

  • 當(dāng)然,以上步驟是代碼的編寫思路,實(shí)際操作中應(yīng)該還要添加一個(gè)前置步驟,所以完整流程如下:

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

在這里插入圖片描述

分析目標(biāo)站點(diǎn)

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

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

在這里插入圖片描述

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

編寫代碼請(qǐng)求資源,這里有一點(diǎn)需要注意:請(qǐng)求頭必須攜帶,否則有可能請(qǐng)求失敗導(dǎo)致報(bào)錯(cuò)。

import requests  # 導(dǎo)包

# 構(gòu)建請(qǐng)求頭,把爬蟲程序偽裝成正常的瀏覽器用戶
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='

# 構(gòu)建請(qǐng)求
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{...},   # 沒張私房照對(duì)應(yīng)的詳細(xì)信息,其中就有圖片的URL 
        Object{...},
        ···
}

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

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

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

image_data = requests.get(page_url).content

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

使用Python中的文件對(duì)象,保存圖片,圖片名字使用時(shí)間戳命名,避免圖片重名

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

寫在最后

到這整個(gè)兒爬蟲程序就寫完了。

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

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

我退休后一直在學(xué)習(xí)如何寫文章,說實(shí)在的,每次我在后臺(tái)看到一些讀者的回應(yīng)就會(huì)覺得很欣慰,于是我想把我收藏的一些編程干貨貢獻(xiàn)給大家,回饋每一個(gè)讀者,希望能幫到你們。

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

相關(guān)文章

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

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

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

    Python獲取和設(shè)置代理的動(dòng)態(tài)IP的方式

    在網(wǎng)絡(luò)世界中,代理和動(dòng)態(tài)IP是非常常見的概念,尤其對(duì)于需要大規(guī)模訪問網(wǎng)站或者需要隱藏真實(shí)IP地址的應(yīng)用程序來說,更是必不可少的工具,本文將給大家介紹如何使用編程技術(shù)來實(shí)現(xiàn)動(dòng)態(tài)IP的設(shè)置和管理,需要的朋友可以參考下
    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的四種方式,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • Python實(shí)現(xiàn)數(shù)據(jù)庫與Excel文件之間的數(shù)據(jù)自動(dòng)化導(dǎo)入與導(dǎo)出

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

龙陵县| 河曲县| 乐平市| 福清市| 灯塔市| 黄石市| 阳城县| 吉安市| 辉县市| 黄平县| 兴和县| 无锡市| 五台县| 肇州县| 隆回县| 鄂州市| 桐柏县| 古蔺县| 云浮市| 阜宁县| 紫云| 西藏| 察哈| 聂荣县| 永兴县| 上犹县| 葫芦岛市| 泸水县| 来宾市| 句容市| 陇川县| 正镶白旗| 拉萨市| 曲沃县| 洛阳市| 全南县| 凤翔县| 昌图县| 安溪县| 会泽县| 兴隆县|