Python爬取某境外網站漫畫,心血來潮,爬之

2020-09-23 松鼠愛吃餅乾

本文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。

轉載地址

https://blog.csdn.net/fei347795790?t=1

某年某月某日,重溫某本漫畫,心血來潮,爬之!!!



分析思路:

1. 通過靜態爬取漫畫所有章節的url連結信息以及集數信息。

2. 通過動態爬取每集漫畫的所有篇幅。

3. 每集漫畫保存至相應本地文件夾中。

一、獲取所有漫畫信息

通過對漫畫網頁地址load = &34;分析,每集漫畫 的連結和集數集中於某個標籤中,通過requests庫和BeautifulSoup庫獲取該標籤信息。並轉化成pd.DataFrame格式數據,共包含三列ID(集數),url(漫畫連結),name(集名)。.

import osimport numpy as npimport pandas as pdimport requestsimport reimport timefrom bs4 import BeautifulSoupfrom selenium import webdriver 39;lxml&39;mh-chapter-list-ol-0&34;a&34;http://m.seeym.net&34;href&34;([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])&34;&34;ID&34;url&34;name&34;ID&34;ID&34;ID&34;網頁不可用&提取漫畫內容load:載入漫畫網址,path:保存地址,dic:保存集數def jpg(load,path,dic,browser,ID): a = 1 try: browser.get(load) elemt = browser.find_element_by_id(&34;) total = elemt.text for i in range(1,int(total)+1): load1 = load + &39; + str(i) browser.get(load1) elemt = browser.find_element_by_id(&34;) bb1 = elemt.get_attribute(&39;) bb2 = requests.get(bb1, timeout = 30) bb2.encoding = bb2.apparent_encoding path1 = path + &39; + str(ID) + &39; + dic + &39; + str(i) + &39; with open(path1, &39;) as f: f.write(bb2.content) time.sleep(np.random.randint(1,3)) print(&39;.format(dic)) return a - 1 except: print(&39;.format(dic)) return a

代碼修改:下載過程中出現漫畫集名有特殊字符的情況,通過正則表達式將特殊字符剔除。

三、新建保存文件夾和刪除文件夾

更新漫畫操作,若本地文件夾中無該漫畫集數子文件夾,則創建文件夾。若有,則不創建。刪除下載失敗的文件夾,若不能下載完整漫畫集,則刪除創建的文件夾。

39;/&39;_&39;創建{}文件夾&刪除文件夾,文件def deldir(path,dic,ID): path = path + &39; + str(ID) + &39; + dic if os.path.exists(path) == True: for i in os.listdir(path): path1 = path + &39; + i os.remove(path1) os.rmdir(path) else: pass

四、拼接代碼

下載流程:

1. 輸入load連結,本地地址,運行webdriver.Chrome谷歌瀏覽器。

2. 獲取漫畫url信息。

3. 循環下載漫畫,生成下載失敗文件fail。

4. 新建子文件下,下載漫畫,並time.sleep(np.random.randint(x))模擬人看漫畫時長。

def main(): 34;D:/chromedriver.exe&34;http://xxxxx.net/xxxx/xxxxx/&34;F:/漫畫/xxxxx&第二步,獲取所有漫畫的url信息 info = url(load) #第三步,下載漫畫 fail = info.iloc[0:1,:] for i in range(len(info)): http = info.iloc[i,1] dic = info.iloc[i,2] ID = info.iloc[i,0] check = mkdir(path,dic,ID) if check == 0: a = jpg(http,path,dic,browser,ID) if a == 1: fail = pd.concat((fail,info.iloc[i:i+1,:])) deldir(path,dic,ID) else: time.sleep(np.random.randint(3,6)) continue else: continue return failfail = main()

五、結果


PS:網址來源於某盜版網址,圖文中相關連結等信息均隱藏。

相關焦點

  • Python爬取B站彈幕並製作詞雲圖
    代碼實現部分 1、請求網頁獲取原始碼數據 爬取這些數據是需要加上cookie的,如果沒有加cookie的話會顯示你未登錄帳號 所以需要在headers裡面添加cookie
  • Python漫畫爬蟲:B站!爬取輝夜大小姐等漫畫
    今天我們要爬取這個網站的《輝夜大小姐想讓我告白》漫畫(窮人靠科技,富人靠硬幣,懂,不多說)主要就兩步:1.在主界面找到所有話的連結 2.在每一話找到該話的所有圖片需要源碼的直接翻到最後當然,不同網站結構不同,爬取方式也有些許不同。比如動漫之家——參考自這裡.
  • python爬蟲100個入門項目
    1淘寶模擬登錄2天貓商品數據爬蟲3爬取淘寶我已購買的寶貝數據4每天不同時間段通過微信發消息提醒女友5爬取5K解析度超清唯美壁紙一鍵下載漫畫~41MM131性感美女寫真圖全爬取42美女寫真套圖爬蟲43妹子圖44貓眼網電影評分45新聞監控46你好汙啊
  • 我用Python爬取英雄聯盟所有的英雄信息
    思路:爬取到網頁數據之後並生成到excel中,涉及到爬蟲和python處理excel的導出 一、代碼 import json import requestsimport xlwt
  • python爬取二次元肥宅最喜歡的壁紙圖片,看過的都說愛了
    其實這個網站的壁紙 還是不錯的嘛,果然是二次元肥宅的最愛~ 所以… 爬它 相關python開發工具 Python 3.6 Pycharm
  • 簡單直觀的python爬蟲程序,從flask建立web程序到爬取過程
    有很多時候,要說清楚一個爬蟲程序對於新手來說有點抽象,不是那麼好理解,有一個好的辦法,爬蟲爬取的都是web網站的資源,那麼就可以用輕量級web框架flask來搭建一個web網站,然後寫一個爬蟲腳本來爬取這樣就可以比較容易的理解其工作原理。
  • python 爬蟲爬取酷我音樂
    用到的python庫import requestsimport jsonimport timeimport osfrom urllib import parsekey=%E5%91%A8%E6%9D%B0%E4%BC%A6',}singer = input('歌手名:')num = int(input('爬取頁數:'))fieldname = '酷我音樂'#文件夾下的文件夾的創建方法
  • Python爬蟲並自製新聞網站,太好玩了
    來源 | 凹凸數據(ID:alltodata)我們總是在爬啊爬,爬到了數據難道只是為了做一個詞雲嗎?當然不!這次我就利用flask為大家呈現一道小菜。Flask是python中一個輕量級web框架,相對於其他web框架來說簡單,適合小白練手。使用Flask+爬蟲,教大家如何實時展示自己爬下來的數據到網頁上。
  • Python|常見的反爬及解決方法,值得收藏
    我們都知道Python用來爬數據,為了不讓自家的數據被別人隨意的爬走,你知道怎麼反爬嗎?今天播妞帶著大家一起見識見識常見的反爬技術。首先我們來看一下爬蟲程序和反爬蟲之間的一張邏輯圖:以下說4種網站反爬蟲方式。
  • python 爬蟲學習路線:從入門到進階
    但掌握正確的方法,在短時間內做到能夠爬取主流網站的數據,其實非常容易。在目標的驅動下,你的學習才會更加精準和高效。那些所有你認為必須的前置知識,都是可以在完成目標的過程中學到的。這裡給你一條平滑的、快速入門的學習路徑。本文依舊需要有一些python基礎,至少要求掌握python語法。
  • 嗶哩嗶哩漫畫禁止網頁觀看?教你如何下載漫畫實現多​端觀看.​
    一、安裝爬取工具:安裝python3,打開cmd輸入如下命令安裝:python -m pip install -U git+https:# 查看幫助,如正確列印幫助信息,則安裝成功python -m onepiece --help二、爬取免費漫畫:
  • 如何提高爬蟲爬取網頁速度?
    爬蟲的算法規則:學SEO優化的相信大家都知道,做網站優化一定要照顧爬蟲,如果照顧不到爬蟲,那你的網站就很難有排名,甚至連收錄都很難,所以首先要明白爬蟲的規則。爬蟲不是萬能的,它也分能爬取到和爬取不到的東西。
  • Python開發簡單爬蟲【學習資料總結】
    ;另一方面,會將新的URL補充進URL管理器,若有URL管理器中含有新的URL,則重複上述步驟,直到爬取完所有的URL 6、最後,調度器會調動應用的方法,將價值數據輸出到需要的格式。
  • 聽說國漫最近崛起了,那我們就來爬幾部國漫看看,居然有反爬
    1.前言說實話這次的爬蟲可能是目前我遇到的最難的一個爬蟲,主要之前爬取的都是一些靜態資源的網站,這次的網站雖然 反爬機制 雖然也只是低層次的,但是對於新手的我來說也算是比較難的了。就是先爬取漫畫 所有章節的連結 ,之後在 通過章節連結二次訪問 再爬取該章節中所有的漫畫連結,之後 通過漫畫連結三次訪問 並進行保存操作即可。但是具體操作之後才發現動漫之家在這其中的確還是下了很多的套的。
  • python爬蟲篇二:HTTP協議六大方法
    遠程主機拒絕我們被禁止更改主機上的文件,但是可以爬取網站上的文件,實現爬蟲的目的就很滿足了正規的網站都會在主目錄下放一個「robots.txt」。這裡面寫了禁止爬蟲爬取的內容,其實就是為了限制像「百度爬蟲」「搜狗」這樣的合法爬蟲。對於我們這些小爬蟲,我們不去遵守,自然就沒用了。下面是百度主頁下的robots文檔,在瀏覽器上就可以查看。
  • Python爬取周杰倫的200首歌+BI可視化分析,青春好像又回來了
    首先上手很快,對於新手來說是最簡單的入門語言;第二,能爬取信息,並且能做可視化分析。Python做的可視化分析最近一直在聽周杰倫的歌(可能是小編長大了,也有可能是春天快到了....),於是想拿Python分析一下周杰倫歌曲的各項數據。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    11編程讓生活更美好 之 初識 excel操控 12【VBA宏工程插件與python+xlwings混合調用】 13python +VBA混合開發 之 winapi自由世界 14python+panas+excel+vba混合調用 15【hybridDev實戰】【py+excel+ppt自動匯報】 16原創獨家配套筆記之混合開發
  • 看我如何破解某點評反爬邏輯
    公眾號:早起Python作者:劉早起大家好,在上周發布的Python爬取上萬條大眾點評數據,解讀一線快餐品牌背後的秘密中,提到了大眾點評網商家數據的爬取方法,很多讀者表示感興趣,本文就來好好聊一下如何破解字體加密,拿到我們想要的數據!
  • Python爬取鬥圖網,表情包什麼的,都是小意思
    那為了能和妹子更愉快的聊天,咱們爬他個天昏地暗的表情包準備環境:Windows + Python3.6模塊:import requests # 請求網頁from lxml import etree # 解析網頁from urllib import request # 下載內容
  • python為什麼叫爬蟲?為啥那麼多人通過python兼職都能掙不少錢?
    Python能做什麼之前有很多文章介紹python能做什麼。今天介紹python爬蟲的學習。網絡爬蟲 網絡爬蟲,也叫網絡蜘蛛(Web Spider)。爬蟲是根據網頁地址(URL)爬取網頁上的內容,這裡說的網頁地址(URL)就是我們在瀏覽器中輸入的網站連結。例如:https://www.baidu.com/,這就是一個URL。