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

Python爬蟲爬取網(wǎng)站圖片

 更新時(shí)間:2022年01月02日 15:02:54   作者:fff2zrx  
這篇文章主要介紹了Python爬蟲爬取網(wǎng)站圖片,此次python3主要用requests,解析圖片網(wǎng)址主要用beautiful soup,可以基本完成爬取圖片功能,需要的朋友可以參考一下

此次python3主要用requests,解析圖片網(wǎng)址主要用beautiful soup,可以基本完成爬取圖片功能,

爬蟲這個(gè)當(dāng)然大多數(shù)人入門都是爬美女圖片,我當(dāng)然也不落俗套,首先也是隨便找了個(gè)網(wǎng)址爬美女圖片

from bs4 import BeautifulSoup
import requests
?
?
if __name__=='__main__':
? ? url='http://www.27270.com/tag/649.html'
? ? headers = {
? ? ? ? "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"}
? ? req = requests.get(url=url, headers=headers)
? ? req=requests.get(url=url,headers=headers)
? ? req.encoding = 'gb2312'
? ? html=req.text
? ? bf=BeautifulSoup(html,'lxml')
? ? targets_url=bf.find('div',class_='w1200 oh').find_all('a',target='_blank')
? ? for each in targets_url:
? ? ? ? img_req=requests.get(url=each.get('href'),headers=headers)
? ? ? ? img_req.encoding = 'gb2312'
? ? ? ? html = img_req.text
? ? ? ? bf = BeautifulSoup(html, 'lxml')
? ? ? ? img_url = bf.find('div', class_='articleV4Body').find('img')['src']
? ? ? ? name=each.img.get('alt')+'.jpg'
? ? ? ? path=r'C:\Users\asus\Desktop\新建文件夾'
? ? ? ? file_name = path + '\\' + name
? ? ? ? try:
? ? ? ? ? ? req1=requests.get(img_url,headers=headers)
? ? ? ? ? ? f=open(file_name,'wb')
? ? ? ? ? ? f.write(req1.content)
? ? ? ? ? ? f.close()
? ? ? ? except:
? ? ? ? ? ? print("some error")

期間遇到的一個(gè)情況是,它到訪問(wèn)img_url的時(shí)候總報(bào)錯(cuò)連接主機(jī)失敗,我開始以為是網(wǎng)址加了反爬之類的,但是我單獨(dú)拿出來(lái)一個(gè)網(wǎng)址,卻可以很容易的訪問(wèn),百思不得其解,最后咨詢大佬告訴我把img_url的每一個(gè)都試試看,可能是某一個(gè)網(wǎng)址出了問(wèn)題,找了找果然是有個(gè)叛徒,產(chǎn)生的img_url中第二個(gè)網(wǎng)址無(wú)法訪問(wèn),怪不得老報(bào)錯(cuò),我應(yīng)該多試幾個(gè)的,一葉障目

我同時(shí)也是個(gè)火影迷,掌握基本方法后準(zhǔn)備試試爬取火影圖片,也是網(wǎng)址找了個(gè)網(wǎng)址:

http://desk.zol.com.cn/dongman/huoyingrenzhe/

可以看到火影的圖片是以圖集的形式儲(chǔ)存的,所以這個(gè)下載就比剛才的稍微多了一點(diǎn)步驟

查看網(wǎng)站源代碼容易發(fā)現(xiàn),圖集的鏈接所在都是class='photo-list-padding'的li標(biāo)簽里,且鏈接沒有補(bǔ)全

點(diǎn)開其中一個(gè)鏈接, http://desk.zol.com.cn/dongman/huoyingrenzhe/(前面為瀏覽器自動(dòng)補(bǔ)全,在代碼里需要自己補(bǔ)全)

可以看到圖片的下載地址以及打開本圖集下一張圖片的鏈接

了解完網(wǎng)站的圖片構(gòu)造后動(dòng)手寫代碼,我們篩選出圖集的鏈接后,通過(guò)圖集的鏈接找到第一張圖片下載地址和第二張圖片的鏈接,通過(guò)第二張的鏈接找到第二張的下載地址和第三張的鏈接,循環(huán)下去,直到本圖集到底,接著開始第二個(gè)圖集,直到所有圖集下載完畢,代碼如下,為了方便循環(huán),我們集成下載圖片功能為download函數(shù),解析圖片網(wǎng)址功能為parses_picture

from bs4 import BeautifulSoup
import requests
?
def download(img_url,headers,n):
? ? req = requests.get(img_url, headers=headers)
? ? name = '%s'%n+'='+img_url[-15:]
? ? path = r'C:\Users\asus\Desktop\火影壁紙1'
? ? file_name = path + '\\' + name
? ? f = open(file_name, 'wb')
? ? f.write(req.content)
? ? f.close
?
def parses_picture(url,headers,n):
? ? url = r'http://desk.zol.com.cn/' + url
? ? img_req = requests.get(url, headers=headers)
? ? img_req.encoding = 'gb2312'
? ? html = img_req.text
? ? bf = BeautifulSoup(html, 'lxml')
? ? try:
? ? ? ? img_url = bf.find('div', class_='photo').find('img').get('src')
? ? ? ? download(img_url,headers,n)
? ? ? ? url1 = bf.find('div',id='photo-next').a.get('href')
? ? ? ? parses_picture(url1,headers,n)
? ? except:
? ? ? ? print(u'第%s圖片集到頭了'%n)
?
if __name__=='__main__':
? ? url='http://desk.zol.com.cn/dongman/huoyingrenzhe/'
? ? headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"}
? ? req = requests.get(url=url, headers=headers)
? ? req=requests.get(url=url,headers=headers)
? ? req.encoding = 'gb2312'
? ? html=req.text
? ? bf=BeautifulSoup(html,'lxml')
? ? targets_url=bf.find_all('li',class_='photo-list-padding')
? ? n=1
? ? for each in targets_url:
? ? ? ? url = each.a.get('href')
? ? ? ? parses_picture(url,headers,n)
? ? ? ? n=n+1

期間遇到的一個(gè)情況是每次一個(gè)圖集到底的時(shí)候,就會(huì)產(chǎn)生報(bào)錯(cuò),因?yàn)檎也坏较乱粡垐D片的鏈接了,于是我便加上try語(yǔ)句來(lái)捕捉這一報(bào)錯(cuò),讓程序繼續(xù)下去,有了bf果然比正則表達(dá)式簡(jiǎn)單,可以通過(guò)標(biāo)簽屬性很方便的找到想要的信息。

下載情況

到此這篇關(guān)于Python爬蟲爬取網(wǎng)站圖片的文章就介紹到這了,更多相關(guān)Python爬取網(wǎng)站圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中使用Pillow庫(kù)生成立體文字的圖像

    Python中使用Pillow庫(kù)生成立體文字的圖像

    在眾多Python庫(kù)中,Pillow庫(kù)以其豐富的功能和易用性在圖像處理領(lǐng)域脫穎而出,Pillow是Python領(lǐng)域中最基礎(chǔ)且常用的圖像處理庫(kù)之一,,本文將詳細(xì)介紹如何使用Python自動(dòng)生成帶有立體效果的文字,我們會(huì)逐步講解輸入文字、選擇字體和顏色,并應(yīng)用立體效果來(lái)生成最終圖
    2025-03-03
  • 詳解Python如何查看一個(gè)函數(shù)的參數(shù)

    詳解Python如何查看一個(gè)函數(shù)的參數(shù)

    inspect模塊提供了許多用于檢查對(duì)象的工具函數(shù),其中包括用于獲取函數(shù)參數(shù)信息的函數(shù),所以在Python中,大家可以使用inspect模塊來(lái)查看一個(gè)函數(shù)的參數(shù)信息,本文就來(lái)和大家講講具體操作吧
    2023-05-05
  • Numpy之將矩陣?yán)上蛄康膶?shí)例

    Numpy之將矩陣?yán)上蛄康膶?shí)例

    今天小編就為大家分享一篇Numpy之將矩陣?yán)上蛄康膶?shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • 代碼講解Python對(duì)Windows服務(wù)進(jìn)行監(jiān)控

    代碼講解Python對(duì)Windows服務(wù)進(jìn)行監(jiān)控

    本篇文章給大家分享了通過(guò)Python對(duì)Windows服務(wù)進(jìn)行監(jiān)控的實(shí)例代碼,對(duì)此有興趣的朋友可以學(xué)習(xí)參考下。
    2018-02-02
  • Python標(biāo)準(zhǔn)庫(kù)calendar的使用方法

    Python標(biāo)準(zhǔn)庫(kù)calendar的使用方法

    本文主要介紹了Python標(biāo)準(zhǔn)庫(kù)calendar的使用方法,calendar模塊主要由Calendar類與一些模塊方法構(gòu)成,Calendar類又衍生了一些子孫類來(lái)幫助我們實(shí)現(xiàn)一些特殊的功能,感興趣的可以了解一下
    2021-11-11
  • python如何將兩個(gè)txt文件內(nèi)容合并

    python如何將兩個(gè)txt文件內(nèi)容合并

    這篇文章主要為大家詳細(xì)介紹了python如何將兩個(gè)txt文件內(nèi)容合并,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • python 獲取鍵盤輸入,同時(shí)有超時(shí)的功能示例

    python 獲取鍵盤輸入,同時(shí)有超時(shí)的功能示例

    今天小編就為大家分享一篇python 獲取鍵盤輸入,同時(shí)有超時(shí)的功能示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • python之lambda表達(dá)式與sort函數(shù)中的key用法

    python之lambda表達(dá)式與sort函數(shù)中的key用法

    這篇文章主要介紹了python之lambda表達(dá)式與sort函數(shù)中的key用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python實(shí)現(xiàn)批量填補(bǔ)遙感影像的無(wú)效值NoData

    Python實(shí)現(xiàn)批量填補(bǔ)遙感影像的無(wú)效值NoData

    這篇文章主要為大家介紹了如何基于Python中ArcPy模塊,對(duì)大量柵格遙感影像文件批量進(jìn)行無(wú)效值(NoData值)填充的方法,感興趣的小伙伴可以了解一下
    2023-06-06
  • 解決python3中解壓zip文件是文件名亂碼的問(wèn)題

    解決python3中解壓zip文件是文件名亂碼的問(wèn)題

    下面小編就為大家分享一篇解決python3中解壓zip文件是文件名亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03

最新評(píng)論

桦甸市| 惠安县| 微山县| 姚安县| 闻喜县| 钟山县| 乾安县| 曲周县| 海伦市| 武功县| 邵阳县| 镇赉县| 荥阳市| 勐海县| 桂平市| 浦北县| 崇州市| 田阳县| 利辛县| 友谊县| 宁城县| 乾安县| 垫江县| 阳新县| 定兴县| 原平市| 崇州市| 青海省| 芜湖县| 增城市| 上思县| 伊川县| 镇安县| 穆棱市| 元江| 江门市| 汝城县| 江津市| 琼海市| 集贤县| 绩溪县|