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

Python爬蟲爬取煎蛋網(wǎng)圖片代碼實(shí)例

 更新時(shí)間:2019年12月16日 11:48:55   作者:Leslie_Chan  
這篇文章主要介紹了Python爬蟲爬取煎蛋網(wǎng)圖片代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了Python爬蟲爬取煎蛋網(wǎng)圖片代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

今天,試著爬取了煎蛋網(wǎng)的圖片。

用到的包:

  • urllib.request
  • os

分別使用幾個(gè)函數(shù),來控制下載的圖片的頁數(shù),獲取圖片的網(wǎng)頁,獲取網(wǎng)頁頁數(shù)以及保存圖片到本地。過程簡單清晰明了

直接上源代碼:

import urllib.request
import os


def url_open(url):
  req = urllib.request.Request(url)
  req.add_header('user-agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36')
  response = urllib.request.urlopen(url)
  html = response.read()

  return html

def get_page(url):
  html = url_open(url).decode('utf-8')

  a = html.find('current-comment-page')+23
  b = html.find(']',a)

  return html[a:b]


def find_imgs(url):
  html = url_open(url).decode('utf-8')
  img_addrs = []

  a = html.find('img src=')

  while a != -1:
    b = html.find('.jpg',a ,a+255)
    if b != -1:
      img_addrs.append('https:'+html[a+9:b+4]) # 'img src='為9個(gè)偏移 '.jpg'為4個(gè)偏移
    else:
      b = a+9
    a = html.find('img src=', b)

  return img_addrs


def save_imgs(folder, img_addrs):
  for each in img_addrs:
    filename = each.split('/')[-1]
    with open(filename, 'wb') as f:
      img = url_open(each)
      f.write(img)
    print(img_addrs)

def download_mm(folder = 'xxoo', pages = 5):
  os.mkdir(folder)
  os.chdir(folder)

  url = 'http://jandan.net/ooxx/'
  page_num = int(get_page(url))

  for i in range(pages):
    page_num -= i
    page_url = url + 'page-'+ str(page_num) + '#comments'
    img_addrs = find_imgs(page_url)
    save_imgs(folder, img_addrs)

if __name__ == '__main__':
  download_mm()

其中在主函數(shù)download_mm()中,將pages設(shè)置在了5面。

本來設(shè)置的是10,但是在程序執(zhí)行的過程中。出現(xiàn)了404ERROR錯(cuò)誤

即imgae_url出現(xiàn)了錯(cuò)誤。嘗試著在save_img()函數(shù)中加入了測試代碼:print(img_addrs),

想到會(huì)不會(huì)是因?yàn)楹竺骓摂?shù)的圖片,img_url的格式出現(xiàn)了改變,導(dǎo)致404,所以將pages改成5,

再次運(yùn)行,結(jié)果沒有問題,圖片能正常下載:

仔細(xì)觀察發(fā)現(xiàn),剛好是在第五面的圖片往后,出現(xiàn)了不可下載的問題(404)。所以在煎蛋網(wǎng)上,我們直接跳到第6面查看圖片的url。

上圖是后5面的圖片url,下圖是前5面的圖片url

而源代碼中,尋找的圖片url為使用find()函數(shù),進(jìn)行定為<img src=‘'> <.jpg>中的圖片url,所以后5面出現(xiàn)的a href無法匹配,即出現(xiàn)了404 ERROR。如果想要下載后續(xù)的圖片,需要重新添加一個(gè)url定位

即在find中將 img src改成 a href,偏移量也需要更改。

總結(jié):

使用find()來定位網(wǎng)頁標(biāo)簽確實(shí)太過low,所以以后在爬蟲中要盡量使用正則表達(dá)式和Beautifulsoup包來提高效率,而這兩項(xiàng)我還不是特別熟,所以需要更多的訓(xùn)練。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python?OpenCV?圖像通道數(shù)判斷

    python?OpenCV?圖像通道數(shù)判斷

    這篇文章主要介紹了python?OpenCV?圖像通道數(shù)判斷,文章基于Python的相關(guān)內(nèi)容展開對文章主題的詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-04-04
  • Python利用標(biāo)簽實(shí)現(xiàn)清理微信好友的自動(dòng)化腳本

    Python利用標(biāo)簽實(shí)現(xiàn)清理微信好友的自動(dòng)化腳本

    微信已經(jīng)成為我們?nèi)粘I钪胁豢苫蛉钡纳缃还ぞ?隨著使用時(shí)間的增長,我們的微信好友列表可能會(huì)變得越來越臃腫,所以本文為大家準(zhǔn)備了通過標(biāo)簽清理微信好友的Python自動(dòng)化腳本,希望對大家有所幫助
    2024-12-12
  • 通過案例解析python鴨子類型相關(guān)原理

    通過案例解析python鴨子類型相關(guān)原理

    這篇文章主要介紹了通過案例解析python鴨子類型相關(guān)原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • python數(shù)據(jù)歸一化及三種方法詳解

    python數(shù)據(jù)歸一化及三種方法詳解

    這篇文章主要介紹了python數(shù)據(jù)歸一化及三種方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 基于Python實(shí)現(xiàn)快遞信息提取

    基于Python實(shí)現(xiàn)快遞信息提取

    這篇文章主要為大家介紹了如何利用Python實(shí)現(xiàn)提取快遞信息,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下
    2022-03-03
  • python調(diào)用百度REST API實(shí)現(xiàn)語音識別

    python調(diào)用百度REST API實(shí)現(xiàn)語音識別

    這篇文章主要為大家詳細(xì)介紹了python調(diào)用百度REST API實(shí)現(xiàn)語音識別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 對python cv2批量灰度圖片并保存的實(shí)例講解

    對python cv2批量灰度圖片并保存的實(shí)例講解

    今天小編就為大家分享一篇對python cv2批量灰度圖片并保存的實(shí)例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python繪制lost損失曲線加方差范圍的操作方法

    python繪制lost損失曲線加方差范圍的操作方法

    這篇文章主要介紹了python繪制lost損失曲線加方差范圍的操作方法,首先大家需要導(dǎo)入必要的包及數(shù)據(jù)的獲取方法,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • 利用Python封裝MySQLHelper類實(shí)現(xiàn)數(shù)據(jù)庫的增刪改查功能

    利用Python封裝MySQLHelper類實(shí)現(xiàn)數(shù)據(jù)庫的增刪改查功能

    Python 連接 MySQL 的方法有很多,常用的有 pymysql 和 mysql-connector-python 兩種庫,本文主要介紹了如何封裝一個(gè)MySQLHelper類,實(shí)現(xiàn)對數(shù)據(jù)庫的增刪改查功能,感興趣的可以了解一下
    2023-06-06
  • python兼容VBA的用法詳解

    python兼容VBA的用法詳解

    這篇文章主要介紹了python兼容VBA的用法詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09

最新評論

崇义县| 崇礼县| 南郑县| 潜山县| 九龙县| 孟连| 西乌珠穆沁旗| 新乡县| 墨玉县| 西宁市| 娱乐| 尚义县| 平湖市| 昂仁县| 玉溪市| 永登县| 前郭尔| 西峡县| 额济纳旗| 洛南县| 苍溪县| 长海县| 云南省| 葫芦岛市| 榆中县| 仪征市| 那曲县| 景德镇市| 秦皇岛市| 定西市| 大田县| 凤冈县| 龙游县| 弥渡县| 阳高县| 定陶县| 赤峰市| 扬中市| 建瓯市| 利川市| 肇庆市|