欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python根據(jù)用戶需求輸入想爬取的內(nèi)容及頁數(shù)爬取圖片方法詳解

 更新時(shí)間:2020年08月03日 17:24:57   作者:派大星..  
這篇文章主要介紹了python根據(jù)用戶需求輸入想爬取的內(nèi)容及頁數(shù)爬取圖片方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本次小編向大家介紹的是根據(jù)用戶的需求輸入想爬取的內(nèi)容及頁數(shù)。

主要步驟:

1.提示用戶輸入爬取的內(nèi)容及頁碼。
2.根據(jù)用戶輸入,獲取網(wǎng)址列表。
3.模擬瀏覽器向服務(wù)器發(fā)送請(qǐng)求,獲取響應(yīng)。
4.利用xpath方法找到圖片的標(biāo)簽。
5.保存數(shù)據(jù)。
代碼用面向過程的形式編寫的。

關(guān)鍵字:requests庫(kù),xpath,面向過程

現(xiàn)在就來講解代碼書寫的過程:

1.導(dǎo)入模塊

import parsel # 該模塊主要用來將請(qǐng)求后的字符串格式解析成re,xpath,css進(jìn)行內(nèi)容的匹配
import requests # 爬蟲主要的包
from urllib.request import urlretrieve # 本文用來下載圖片
import os # 標(biāo)準(zhǔn)庫(kù),本文用來新建文件夾

每個(gè)模塊的作用都已經(jīng)備注了。

2.提示用戶輸入內(nèi)容和頁數(shù)

if not os.path.exists("王一博圖片"):
  os.mkdir("王一博圖片") # 判斷有沒有該文件夾,如果沒有就創(chuàng)建改文件夾
k = input("請(qǐng)輸入你想搜索的關(guān)鍵字:")
num = int(input("請(qǐng)輸入你想搜索的頁數(shù):"))

3.準(zhǔn)備好url和header

header = {"user-agent":
       "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Mobile Safari/537.36"
     }
base_url = "https://www.duitang.com/search/?kw=" + k + "&type=feed#!s-p"
title_url = []
n = 0

user-agent是服務(wù)器識(shí)別瀏覽器的重要參數(shù),我們就用這個(gè)來蒙騙服務(wù)器,user-agent在瀏覽器里可以找到

在這里插入圖片描述

那么現(xiàn)在我們就關(guān)注右邊

在這里插入圖片描述

這樣header就找到了,注意要以字典的形式

4.發(fā)送請(qǐng)求、

for i in range(num):
  title_url = base_url + str(i)
  respons = requests.get(title_url, headers=header).text
  html = parsel.Selector(respons) # 解析數(shù)據(jù) -- parsel 轉(zhuǎn)化為Selector對(duì)象,Selector對(duì)象具有xpath的方法,能夠?qū)D(zhuǎn)化的數(shù)據(jù)進(jìn)行處理
  pic_url = html.xpath('//div[@class="mbpho"]/a/img/@src').extract()

一切準(zhǔn)備就緒后,就可以發(fā)送請(qǐng)求了。request.get.text返回的是網(wǎng)頁的源代碼,然后將源代碼轉(zhuǎn)換為Selector對(duì)象,再通過xpath的方法找到圖片的網(wǎng)址。

在這里插入圖片描述

xpath的方法可以參考:https://zhuanlan.zhihu.com/p/29436838

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

獲取圖片的圖片的鏈接后,我們就可以保存了。

  for url in pic_url:
    n = n + 1
    file_path = "王一博圖片" + '/' + str(n)+".jpg"
    urlretrieve(url, file_path) # 下載圖片,具體的用法可以去搜索下,很簡(jiǎn)單的
    print("第%d張圖片下載成功" % n)

注意:這里的for循環(huán)是在上面的循環(huán)里嵌套的。
最后來看看全部的代碼吧!

import parsel # 該模塊主要用來將請(qǐng)求后的字符串格式解析成re,xpath,css進(jìn)行內(nèi)容的匹配
import requests
from urllib.request import urlretrieve # 本文用來下載圖片
import os # 標(biāo)準(zhǔn)庫(kù),本文用來新建文件夾

if not os.path.exists("王一博圖片"):
  os.mkdir("王一博圖片") # 判斷有沒有該文件夾,如果沒有就創(chuàng)建改文件夾
k = input("請(qǐng)輸入你想搜索的關(guān)鍵字:")
num = int(input("請(qǐng)輸入你想搜索的頁數(shù):"))
header = {"user-agent":
       "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Mobile Safari/537.36"
     }
base_url = "https://www.duitang.com/search/?kw=" + k + "&type=feed#!s-p"
title_url = []
n = 0
for i in range(num):
  title_url = base_url + str(i)
  respons = requests.get(title_url, headers=header).text
  html = parsel.Selector(respons)
  pic_url = html.xpath('//div[@class="mbpho"]/a/img/@src').extract()
  # print(pic_url)
  for url in pic_url:
    n = n + 1
    file_path = "王一博圖片" + '/' + str(n)+".jpg"
    urlretrieve(url, file_path) # 下載圖片,具體的用法可以去搜索下,很簡(jiǎn)單的
    print("第%d張圖片下載成功" % n)

來看看運(yùn)行的結(jié)果,以搜索王一博,搜索5頁為例。

在這里插入圖片描述

然后你就發(fā)信多了一個(gè)王一博的文件夾了,點(diǎn)開就可以看見王一博的帥照了。

在這里插入圖片描述

到此這篇關(guān)于python根據(jù)用戶需求輸入想爬取的內(nèi)容及頁數(shù)爬取圖片方法詳解的文章就介紹到這了,更多相關(guān)python爬取圖片方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python讀文件的步驟

    python讀文件的步驟

    在本篇文章里小編給大家分享的是關(guān)于python讀文件的步驟以及相關(guān)知識(shí)點(diǎn),需要的朋友們參考下。
    2019-10-10
  • 利用Python的sympy包求解一元三次方程示例

    利用Python的sympy包求解一元三次方程示例

    今天小編就為大家分享一篇利用Python的sympy包求解一元三次方程示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python xlwt設(shè)置excel單元格字體及格式

    Python xlwt設(shè)置excel單元格字體及格式

    這篇文章主要為大家詳細(xì)介紹了Python xlwt設(shè)置excel單元格字體及格式的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • python+pandas生成指定日期和重采樣的方法

    python+pandas生成指定日期和重采樣的方法

    下面小編就為大家分享一篇python+pandas生成指定日期和重采樣的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python實(shí)現(xiàn)簡(jiǎn)單的井字棋游戲(gui界面)

    python實(shí)現(xiàn)簡(jiǎn)單的井字棋游戲(gui界面)

    這篇文章主要介紹了python如何實(shí)現(xiàn)簡(jiǎn)單的井字棋游戲,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • Anaconda之conda常用命令介紹(安裝、更新、刪除)

    Anaconda之conda常用命令介紹(安裝、更新、刪除)

    這篇文章主要介紹了Anaconda之conda常用命令介紹,主要包括安裝、更新、刪除等,需要的朋友可以參考下
    2019-10-10
  • Python破解網(wǎng)站登錄密碼腳本

    Python破解網(wǎng)站登錄密碼腳本

    這篇文章主要為大家介紹一個(gè)簡(jiǎn)單的Python暴力破解網(wǎng)站登錄密碼腳本,文中的過程講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • pandas實(shí)現(xiàn)數(shù)據(jù)讀取&清洗&分析的項(xiàng)目實(shí)踐

    pandas實(shí)現(xiàn)數(shù)據(jù)讀取&清洗&分析的項(xiàng)目實(shí)踐

    近期因工作需要,需對(duì)幾十萬條商品和訂單數(shù)據(jù)進(jìn)行初步的數(shù)據(jù)分析,本文主要pandas實(shí)現(xiàn)數(shù)據(jù)讀取&清洗&分析的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-05-05
  • 用Eclipse寫python程序

    用Eclipse寫python程序

    本篇文章給大家通過寫第一個(gè)python程序來詳細(xì)說明Eclipse配置以及發(fā)布過程,有興趣的朋友學(xué)習(xí)下。
    2018-02-02
  • python實(shí)現(xiàn)連連看輔助之圖像識(shí)別延伸

    python實(shí)現(xiàn)連連看輔助之圖像識(shí)別延伸

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)連連看輔助之圖像識(shí)別延伸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07

最新評(píng)論