1. 程式人生 > >Python爬蟲入門教程【11】:半次元COS圖爬取

Python爬蟲入門教程【11】:半次元COS圖爬取

半次元COS圖爬取-寫在前面

今天在瀏覽網站的時候,忽然一個莫名的連結指引著我跳轉到了半次元網站 https://bcy.net/ 開啟之後,發現也沒有什麼有意思的內容,職業的敏感讓我瞬間聯想到了 cosplay ,這種網站必然會有這個的存在啊,於是乎,我準備好我的大爬蟲了。

把上面的連結開啟之後,被我發現了吧,就知道我的第八感不錯滴。接下來就是找入口,一定要找到圖片連結的入口才可以做下面的操作

這個頁面不斷往下拖拽,頁面會一直載入,當時當你拖拽一會,就停下來了,就是這個時機

發現入口,在我實際的操作中,其實還發現了很多其他的入口,這個就不一一的解釋了,趕緊上車,進入 view more 之後,發現了頁面依舊是一個下拉重新整理的佈局方式,專業術語 瀑布流

半次元COS圖爬取-python爬蟲第一步

開啟開發者工具,切換到network之後,發現 很多xhr請求,發現這個,就代表這個網站很容易爬取了

提取待爬取的連結,分析規律

https://bcy.net/circle/timeline/loadtag?since=0&grid_type=timeline&tag_id=1482&sort=hot
https://bcy.net/circle/timeline/loadtag?since=26499.779&grid_type=timeline&tag_id=1482&sort=hot
https://bcy.net/circle/timeline/loadtag?since=26497.945&grid_type=timeline&tag_id=1482&sort=hot

發現只有一個引數在變,而且這變化好像沒有任何規律可以尋找,沒事,看資料,你就可以發現其中的奧妙了

這個網站的原理很簡單,就是通過不斷獲取每次資料的最後一條的since然後獲取接下來的資料,那麼我們按照它的規律實現程式碼就可以了,不要多執行緒了,這種規律是沒有辦法進行實操的。 這次的資料我把它儲存到mongodb裡面,因為沒有辦法一次全部獲取到,所以可能需要下次在繼續使用

if __name__ == '__main__':
    ###  mongodb 的一些基本操作   
    DATABASE_IP = '127.0.0.1'
    DATABASE_PORT = 27017
    DATABASE_NAME = 'sun'
    start_url = "https://bcy.net/circle/timeline/loadtag?since={}&grid_type=timeline&tag_id=399&sort=recent"
    client = MongoClient(DATABASE_IP, DATABASE_PORT)

    db = client.sun
    db.authenticate("dba", "dba")
    collection  =  db.bcy  # 準備插入資料
    #####################################3333
    get_data(start_url,collection)
Python資源分享qun 784758214 ,內有安裝包,PDF,學習視訊,這裡是Python學習者的聚集地,零基礎,進階,都歡迎

獲取網頁資料這個地方,由我們前面的經驗就變得很簡單了

## 半次元COS圖爬取-獲取資料函式  
def get_data(start_url,collection):
    since = 0
    while 1:
        try:
            with requests.Session() as s:
                response = s.get(start_url.format(str(since)),headers=headers,timeout=3)
                res_data = response.json()
                if res_data["status"] == 1:
                    data = res_data["data"]  # 獲取Data陣列
                    time.sleep(0.5)
                ## 資料處理
                since = data[-1]["since"]  # 獲取20條資料的最後一條json資料中的since
                ret = json_handle(data)   # 程式碼實現在下面
                try:
                    print(ret)
                    collection.insert_many(ret)   # 批量出入資料庫
                    print("上述資料插入成功!!!!!!!!")
                except Exception as e:
                    print("插入失敗")
                    print(ret)

                ##
        except Exception as e:
            print("!",end="異常,請注意")
            print(e,end=" ")
    else:
        print("迴圈完畢")

網頁解析程式碼

# 對JSON資料進行處理
def json_handle(data):
    # 提取關鍵資料
    list_infos = []
    for item in data:
        item = item["item_detail"]
        try:
            avatar = item["avatar"] # 使用者頭像
            item_id = item["item_id"] # 圖片詳情頁面
            like_count = item["like_count"] # 喜歡數目
            pic_num = item["pic_num"] if "pic_num" in item else 0 # 圖片總數
            reply_count =item["reply_count"]
            share_count =item["share_count"]
            uid = item["uid"]
            plain = item["plain"]
            uname = item["uname"]
            list_infos.append({"avatar":avatar,
                               "item_id":item_id,
                               "like_count":like_count,
                               "pic_num":pic_num,
                               "reply_count":reply_count,
                               "share_count":share_count,
                               "uid":uid,
                               "plain":plain,
                               "uname":uname})
        except Exception as e:
            print(e)
            continue
        return list_infos
Python資源分享qun 784758214 ,內有安裝包,PDF,學習視訊,這裡是Python學習者的聚集地,零基礎,進階,都歡迎

到現在就實現了,程式碼跑起來

相關推薦

Python爬蟲入門教程11COS

半次元COS圖爬取-寫在前面 今天在瀏覽網站的時候,忽然一個莫名的連結指引著我跳轉到了半次元網站 https://bcy.net/

Python爬蟲入門教程7 蜂鳥網圖片之二

蜂鳥網圖片--簡介 今天玩點新鮮的,使用一個新庫 aiohttp ,利用它提高咱爬蟲的爬取速度。 安裝模組常規套路 pip ins

Python爬蟲入門教程 12-100 COS

寫在前面 今天在瀏覽網站的時候,忽然一個莫名的連結指引著我跳轉到了半次元網站 https://bcy.net/ 開啟之後,發現也沒有什麼有意思的內容,職業的敏感讓我瞬間聯想到了 cosplay ,這種網站必然會有這個的存在啊,於是乎,我準備好我的大爬蟲了。 把上面的連結開啟之後

Python爬蟲入門教程 4-100 美空網未登錄圖片

表數 價值 圖片下載 開發 所有圖片 mpi focus .data data 簡介 上一篇寫的時間有點長了,接下來繼續把美空網的爬蟲寫完,這套教程中編寫的爬蟲在實際的工作中可能並不能給你增加多少有價值的技術點,因為它只是一套入門的教程,老鳥你自動繞過就可以了,或者帶帶我也

Python爬蟲入門教程 12-100 二COS

寫在前面 今天在瀏覽網站的時候,忽然一個莫名的連結指引著我跳轉到了半次元網站   https://bcy.net/ 開啟之後,發現也沒有什麼有意思的內容,職業的敏感讓我瞬間聯想到了 cosplay ,這種網站必然會有這個的存在啊,於是乎,我準備好我的大爬蟲了。

python爬蟲入門教程(二)開始一個簡單的爬蟲

爬蟲入門系列教程:   上一篇講了開始爬蟲前的準備工作。當我們完成開發環境的安裝、IDE的配置之後,就可以開始開發爬蟲了。 這一篇,我們開始寫一個超級簡單的爬蟲。 1.爬蟲的過程分析   當人類去訪問一個網頁時,是如何進行的?   ①開啟瀏

python爬蟲入門教程(一)開始爬蟲前的準備工作

爬蟲入門系列教程: 前言   學習python爬蟲也有一段時間了,各種爬蟲技術多多少少也接觸過一些。因為有學弟學妹說想學爬蟲,我萌生了寫個簡單的python爬蟲教程的想法。   一來,給學弟學妹們提供方便,提供一個入門的渠道;二來,總結這些天自身所

前端框架React Js入門教程

參考資料 react.js 功夫 入門實例 html 操作 load 通過 每一個 現在最熱門的前端框架有AngularJS、React、Bootstrap等。自從接觸了ReactJS,ReactJs的虛擬DOM(Virtual DOM)和組件化的開發深深的吸引了我,下

CoolEdit入門教程轉載

class 入門 reply 移動 eply alt 參考 容易 不好聽 目 錄 安裝CE和插件 錄音 降噪 壓限 背景樂合成(調節音量) 保存  一、安裝CE 下載並安裝CoolEdit Pro2.1 安裝包,完成後打開CE,出現這樣的多軌界面

JMeter入門教程

簡介 本文由xmeter君寫給想了解效能測試和JMeter的小白,適合對這兩者瞭解很少的同學們,如果已經有使用經驗的請繞道,別浪費時間:-)  我們將介紹JMeter的使用場景,如何安裝、執行JMeter,以及開始一個最最簡單的測試。你還徘徊在JMeter的門口嗎?別猶豫了,跟著本文做

Python爬蟲入門教程 4-100 美空網未登入圖片

簡介 上一篇寫的時間有點長了,接下來繼續把美空網的爬蟲寫完,這套教程中編寫的爬蟲在實際的工作中可能並不能給你增加多少有價值的技術點,因為它只是一套入門的教程,老鳥你自動繞過就可以了,或者帶帶我也行。 爬蟲分析 首先,我們已經爬取到了N多的使用者個人主頁,我通過連結拼接獲取到了 www.moko.cc/

Python爬蟲入門教程——致敬博主夢想橡皮擦

@夢想橡皮擦 是你的部落格自動評論“謝謝博主分享”把我帶入了爬蟲的世界, 僅以此篇部落格表示敬意! 基礎知識: 網路爬蟲是一種高效地資訊採集利器,利用它可以快速、準確地採集網際網路上的各種資料資源,幾乎已經成為大資料時代IT從業者的必修課。簡單點說,網路爬蟲就是獲取網頁並提取和儲存資訊的

這可能是最囉嗦的Python爬蟲入門教程了 5-100

重要的事情說100遍:爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門,爬蟲入門 獲取

這可能是最囉嗦的Python爬蟲入門教程了 6-100

1. 簡介 國慶假日結束了,新的工作又開始了,今天我們繼續爬取一個網站,這個網站為 http://image.fengniao.com/ ,蜂鳥一個攝影大牛聚集的地方,本教程請用來學習,不要用於商業目的,不出意外,蜂鳥是有版權保護的網站。 2. 網站分析

Python爬蟲入門教程 3-100 美空網資料

簡介 從今天開始,我們嘗試用2篇部落格的內容量,搞定一個網站叫做“美空網”網址為:http://www.moko.cc/, 這個網站我分析了一下,我們要爬取的圖片在 下面這個網址 http://www.moko.cc/post/1302075.html 然後在去分析一下,我需要找到一個圖片列表

Python爬蟲入門教程 3-100 美空網數據

個數 exception 意思 消費 時間模塊 intel insert -o switch 簡介 從今天開始,我們嘗試用2篇博客的內容量,搞定一個網站叫做“美空網”網址為:http://www.moko.cc/, 這個網站我分析了一下,我們要爬取的圖片在 下面這個網址

這可能是最囉嗦的Python爬蟲入門教程了 8-100

囉嗦兩句 前幾天的教程內容量都比較大,今天寫一個相對簡單的,爬取的還是蜂鳥,依舊採用aiohttp 希望你喜歡 爬取頁面https://tu.fengniao.com/15/ 本篇教程還是基於學習的目

Python爬蟲入門教程 2-100 妹子網站

字典 註意 while import 我們 分鐘 基礎 便是 訪問 前言 從今天開始就要擼起袖子,直接寫Python爬蟲了,學習語言最好的辦法就是有目的的進行,所以,接下來我將用10+篇的博客,寫爬圖片這一件事情。希望可以做好。 為了寫好爬蟲,我們需要準備一個火狐瀏覽器,還

Python爬蟲入門教程 9-100 河北陽光理政投訴板塊

寫在前面 之前幾篇文章都是在寫圖片相關的爬蟲,今天寫個留言板爬出,為另一套資料分析案例的教程做做準備,作為一個河北人,遵紀守法,有事投訴是必備的技能,那麼咱看看我們大河北人都因為什麼投訴過呢? 今天要爬取的網站地址 http://yglz.tousu.hebne

Python爬蟲入門教程 15-100 石家莊政民互動資料

寫在前面 今天,咱抓取一個網站,這個網站呢,涉及的內容就是 網友留言和回覆,特別簡單,但是網站是gov的。網址為 http://www.sjz.gov.cn/col/1490066682000/index.html 首先宣告,為了學習,絕無惡意抓取資訊,不管