當前位置 博文首頁 > 信息技術智庫:?? 爬蟲分析CSDN大佬之間關系,堪比娛樂圈 ??

    信息技術智庫:?? 爬蟲分析CSDN大佬之間關系,堪比娛樂圈 ??

    作者:[db:作者] 時間:2021-09-13 18:59

    🍅 作者主頁:不吃西紅柿

    🍅 簡介:CSDN博客專家🏆、信息技術智庫公號作者?簡歷模板、PPT模板、技術資料盡管【關注】私聊我。歷史文章目錄:https://t.1yb.co/zHJo

    🍅 歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正!

    本文重點:

    1、爬蟲獲取csdn大佬之間的關系

    2、可視化分析曖昧關系,復雜堪比娛樂圈

    大佬簡介

    🍅 Java李楊勇:一個性感的計算機專業畢業的3年java開發者。

    🍅 沉默王二:CSDN 頭牌博主,Java 領域優質創作者,2019、2020 兩屆博客之星 Top5?。

    🍅 擦姐yyds:現象級專欄 《Python 爬蟲 100 例》作者、《滾雪球學 Python 專欄》原創者。

    🍅 濤歌依舊:濤哥不知何許人也,亦不詳其姓字。閑靜少言,不慕榮利。好讀書,求甚解。

    🍅 Lucifer三思而后行:靈感來源于生活,故而熱愛生活~

    🍅 曲鳥:python領域新星創作者。

    🍅 孤寒者:深入淺出的講解Python基礎知識&爬蟲初階及進階&主流Web框架(Django等)

    🍅 肥學大師:目前還是學生喜歡分享從每個項目得到的技術和趣聞類的文章。

    不甚枚舉......

    目錄

    效果展示(動圖不會錄屏,只能截圖了)

    第一步:獲取api

    第二步:爬蟲獲取關注名單

    第三步:python數據可視化

    第四步:main函數啟動


    效果展示(動圖不會錄屏,只能截圖了)

    我們尤其可以看到:

    這個「不吃西紅柿」竟然關注了所有人,簡直是朵交際花,不僅文章寫得好,還愛交朋友! 據說,他最近有評論必回關? ?

    第一步:獲取api

    C站的關注api:

    https://blog.csdn.net/community/home-api/v1/get-follow-list?page=%s&size=20&noMore=false&blogUsername=%s"%(p,Username)

    需要傳入兩個參數:頁數、用戶id

    %(p,Username)

    第二步:爬蟲獲取關注名單

    還是經典的爬蟲包: import requests

    def get_follow(Username):
        headers = {
            "User-Agent": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3)",
            "accept": "application/json, text/javascript, */*; q=0.01",
            "accept-encoding": "gzip, deflate, br",
            "accept-language": "zh-CN,zh;q=0.9",
            "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
            "cookie": "cookie",
        }
        data ={
            "page": "1",
            "size": "20",
            "noMore": "false",
            "blogUsername": Username
        }
        follow_list = []
        for p in range(1,101):
            url = "https://blog.csdn.net/community/home-api/v1/get-follow-list?page=%s&size=20&noMore=false&blogUsername=%s"%(p,Username)
            res = requests.get(url,headers=headers,data=data)
    
            fans = json.loads(res.text)['data']['list']
            if fans:
                follow_list.extend(fans)
            else:
                break
        ff = []
        for i in follow_list:
            ff.append(i['username'])
        return ff

    第三步:python數據可視化

    def graph(nodes, links):
        graph = Graph()
        graph.add("Name:", nodes,links, repulsion=8000)
        graph.set_global_opts(title_opts=opts.TitleOpts("關系圖"))
        graph.render() #生成render.html

    第四步:main函數啟動

    if __name__ == '__main__':
        nodes,links = [],[]
        blog = {
            'weixin_39032019': '不吃西紅柿',
            'Mancuojie':'Mancuojie',
            'weixin_39709134': 'Java李楊勇',
            'zhongguomao': 'SAP劍客',
            'qing_gee': '沉默王二',
            'hihell': '擦姐yyds',
            'stpeace': '濤歌依舊',
            'jacke121': 'AI視覺網奇',
            'weixin_40400177': 'DrogoZhang',
            'm0_50546016': 'Lucifer三思而后行',
            'momoda118': '曲鳥大師',
            'qq_44907926': '孤寒大佬',
            'jiahuiandxuehui': '肥學大師',
                }
        blog_key = blog.keys()
        for blogUsername in blog:
            follows = get_follow(blogUsername)
            simple_follows = [val for val in follows if val in blog_key]
            nodes.append({"name": blog[blogUsername] })
            for one in simple_follows:
                if blog[blogUsername] != blog[one]:
                    links.append({"source": blog[blogUsername] ,"target":blog[one] })
            print(links)
        graph(nodes,links)

    好了,今天的「爬蟲」和「數據可視化」小課堂,就到這里了,我是西紅柿🍅,我們下期再見~

    熱門專欄推薦:

    🥇 大數據集錦專欄:大數據-硬核學習資料 & 面試真題集錦?
    🥈?數據倉庫專欄:數倉發展史、建設方法論、實戰經驗、面試真題?
    🥉?Python專欄:Python相關黑科技:爬蟲、算法、小工具?

    (優質好文持續更新中……)?

    cs
    下一篇:沒有了
lj663的博客 原創內容,個人筆記,僅供參考。篠AP中導出物料 lj663的博客 原創內容,個人筆記,僅供參考。宏P于作者博文的 lj663的博客 原創內容,個人筆記,僅供參考。荷昝鳎罕救瞬┛ lj663的博客 原創內容,個人筆記,僅供參考。宏P于VIP文章的 程序員springmeng:??爆肝熬夜開發了一個SpringBoot活動管理系統 相太陽的博客:CSS font-size字體大小樣式屬性 Jqcode:配置文件中propertyConfigurer類的使用 Jqcode:Eclipse插件使用Mybatis-generator代碼生成器 Jqcode:命令行使用Mybatis-generator代碼生成器 Jqcode:SpringMVC工作原理 Jqcode:MD5Utils Jqcode:mysql中自連接查詢與case-when-then用法 Jqcode:json相關轉換 Jqcode:使用Pipeline管道技術快速寫入百萬級別緩存數據 Jqcode:mysql查詢中常用的函數整理 Jqcode:Eclipse中Debug調試時各個快捷鍵的作用 Jqcode:Controller返回json格式數據報反序列化異常的解決辦法 Jqcode:java配置相關參數啟動項目 Jqcode:初步了解mysql存儲過程 Jqcode:layDate,一款來自layui的強大日期插件 Jqcode:layer,一款來自layui的強大彈出層插件 Jqcode:java實現線程間的通信 Jqcode:java導出EXCEL表格―實戰篇 Jqcode:Redis常問面試題整理 Jqcode:List數據去重方法 Jqcode:初識mysql觸發器 Jqcode:數據庫設計規范之三大范式 Jqcode:關于mysql用戶安全管理的一些命令 Jqcode:關于哈希表必須了解的一些知識 Jqcode:本地環境nexus搭建私服jar包站點 Jqcode:使用Dom4j中的Document與Element解析XML文檔 Jqcode:postman調用https接口方式 Jqcode:簡單記錄Spring中輕量級任務調度@Scheduled注解的使用 Jqcode:項目啟動后控制臺自定義輸出圖案或內容 Jqcode:RabbitMQ消息隊列中間件――安裝與配置 Jqcode:RabbitMQ消息隊列中間件――“Hello World”入門 Jqcode:nginx反向代理實踐:將某個指定的域名代理到指定的服務 Jqcode:Spring Cloud微服務架構――Eureka注冊中心 Jqcode:Spring Cloud微服務架構――Eureka服務注冊 Jqcode:Spring Cloud微服務架構――Eureka服務發現與消費 Jqcode:Spring Cloud微服務架構――Ribbon客戶端負載均衡 Jqcode:Spring Cloud微服務架構――Feign客戶端負載均衡 Jqcode:es+kibana在windows平臺下的搭建記錄 Jqcode:kibana安裝中文插件 Jqcode:mongodb常用語法 Jqcode:關于原碼、反碼、補碼的學習 Jqcode:@Autowired、@Resource還分不清嗎? 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 lyndon:CSDN 去除圖片水印 lyndon:Android 手機修改 WiFi MAC 地址 php怎么將漢字轉成拼音 php 50.00怎么轉換成50 一文帶你分析php7的zval 聊聊關于PHP定時器的那些事 微信推廣 如何做好微商 必看微信朋友圈購物八大準則 如何避免朋友圈購物存在問題 JavaScript循環遍歷的24個方法 關于@PostConstruct、afterPropertiesSet和init-method的執行順序 Redis數據過期策略的實現詳解 Java設計模式之java觀察者模式詳解 java工程師進階之MyBatis延遲加載的使用 提高網站收錄率請從建站開始! php pthreads的使用方法 php分頁有幾種實現方法 Yaf遇上PHP7.1會有什么火花? 這個php-cs-fixer編碼格式化工具,你還不會用嗎? 微信朋友圈曬成交、曬對話有圖不等于有真相 交易量是這么來的 揭秘微商驚天陷阱 微信朋友圈里的面膜都賣給了誰? .net平臺的rabbitmq使用封裝demo詳解 C++類的特種函數生成機制詳解
A级免费视频