特別喜歡簡書這個網(wǎng)站晰甚,上面有很多優(yōu)秀的作者卿啡,很多文章也寫的非常好昔瞧。最近想來有空的時候就寫了 個簡書爬蟲指蚁,抓取某個專題下的所有文章,為了完整性就完成以下一些功能自晰。
直接貼代碼鏈接: wenjunoy/jianshu-spider-python 凝化,相關(guān)的使用介紹在代碼readme 也能看到。
簡要介紹
本代碼主要是提供一系列的API酬荞,用于爬取簡書上的內(nèi)容搓劫。可以抓取簡書上用戶相關(guān)信息混巧,寫的文章枪向。還有抓取簡書上所有的專題和文集,獲取專題和文集的相關(guān)信息和所有文章咧党。
不保證代碼一直有效(如果簡書網(wǎng)站結(jié)構(gòu)和API發(fā)生變化)
依賴
BeautifulSoup
urllib2
requests
如何使用
獲取代碼:
git clone git@github.com:wenjunoy/jianshu-spider-python.git
獲取用戶個人信息
url形式: http://www.reibang.com/users/< ID >/latest_articles
獲取user的相關(guān)內(nèi)容秘蛔,包括基本信息(關(guān)注數(shù),粉絲,文章數(shù)深员,字?jǐn)?shù),獲得的喜歡)倦畅,所有的文章,關(guān)注的人叠赐,和被關(guān)注的人欲账。
from jianshu.jianshu import User
user = User(user_id='81840abcd13b')
user.get_user_info() # 獲取基本信息
user.get_article_list() # 獲取文章列表
user.get_following() # 獲取關(guān)注的用戶
user.get_followers() # 獲取被關(guān)注的用戶
通過登入自己的賬戶還可以獲取喜歡的文章id(文章的url是 http://www.reibang.com/p/< id >)芭概,收藏的文章和關(guān)注的專題最新的文章。必需在jianshu/config.py 設(shè)置COOKIE谈山。
user.get_favourites_articles()
user.get_bookmarks_articles()
user.get_subscription_notes()
通過通知頁面可以繪制你的 簡書文章-關(guān)注曲線
from jianshu.plot import draw_niti
draw_niti(user_id='81840abcd13b')
獲取所有的專題
根據(jù)主頁的主題廣場可以獲取所有的專題ID
from jianshu.jianshu import HomePage
home = HomePage()
home.get_collections_hot() # 獲取熱門專題
home.get_collections_recommend() #獲取推薦專題
home.get_collections_city() # 獲取城市專題
通過參數(shù)order_by* 和max_get的設(shè)置獲取你想要的專題順序和數(shù)目。
獲取專題內(nèi)容
url形式: http://www.reibang.com/collection/< ID >
通過專題的ID可以獲取該專題的相關(guān)內(nèi)容畴椰,包括專題的管理員,關(guān)注此專題的用戶以及文章列表斜脂。
from jianshu.jianshu import Collection
collection = Collection('40d81e34a7fb')
collection.get_authors()
collection.get_subscribers()
collection.get_article_list()
獲取文集內(nèi)容
url 形式: http://www.reibang.com/notebooks/< ID >/latest
通過文集的ID可以獲取該文集的相關(guān)內(nèi)容,包括基本信息触机,文集的作者,關(guān)注的人和文章列表儡首。
from jianshu.jianshu import Notebooks
note = Notebooks('3864458')
note.get_author_id()
note.get_subscribers()
note.get_article_list()
獲取文章內(nèi)容
url形式: http://www.reibang.com/p/< ID >
通過文章的ID和獲取文章的相關(guān)內(nèi)容,基本信息(字?jǐn)?shù)蔬胯,閱讀量,評論數(shù)和打賞數(shù))氛濒,文章的內(nèi)容(可以選擇刪除網(wǎng)頁標(biāo)簽和換行符)产场,還可以下載文章內(nèi)的所有圖片京景。
from jianshu.jianshu import Article
art = Article('af14524650e2')
art.get_base_info() # 基本信息
art.get_article_text() # 文章的內(nèi)容
art.get_all_imageUrl() # 獲取文章的圖片并保存
獲取2015年精選文章
url: http://www.reibang.com/zodiac/2015
zo = Zodiac()
zo.get_articles()
該代碼只是簡書爬蟲的一系列的API,爬蟲機(jī)制還需要自己去完成骗奖。目前只支持單線程确徙。