1] python 爬取微信好友個性簽名,生成詞雲
在Anaconda下完成,參考https://blog.csdn.net/zhonglixianyun/article/details/78229782
結果圖:
1. 需要的庫
numpy, os,
itchat, wordcloud, jieba,
1) 安裝itchat
由於在Anaconda下執行,安裝外部庫要在\Anacoda\Scripts目錄下,pip預設是把東西安裝在系統python環境中,即C:\Python27\Lib\site-packages中,因而無法在annocanda環境中呼叫,所以會出現這樣的問題。
解決辦法:在D:\Anacoda\Scripts中 把pip.exe和pip-script.py改成condapip.exe和condapip-script.py (改名字只是為了和系統python環境中的pip區分)。然後cmd中要用anaconda環境安裝包就在\Anacoda\Scripts 下
2) 安裝jieba
cmd-在\Anacoda\Scripts 下-condapip install XXX
3) 安裝wordcloud
wordcloud不能直接安裝,需要先下載對應python+計算機的版本wordcloud-1.3.2-cp36-cp36m-win_amd64.whl
下載地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
然後在\Anacoda\Scripts 下 condapip install,將whl檔案直接拖進來即可
2. 在目錄下儲存一張詞雲的底圖,用來確定詞雲形狀 配色
3. 程式碼
import itchat import re # 先登入,掃二維碼登入微信 itchat.login() #獲取好友列表,返回的是json資訊 friends = itchat.get_friends(update=True)[0:] #列印好友列表資訊 #print(friends) tList = [] for i in friends: # 獲取個性簽名,替換掉span,class,emoji signature = i["Signature"].replace(" ", "").replace("span", "").replace("class", "").replace("emoji", "") # 正則匹配過濾掉emoji表情,例如emoji1f3c3等 rep = re.compile("1f\d.+") signature = rep.sub("", signature) tList.append(signature) # 拼接字串 text = "".join(tList) # jieba分詞 import jieba wordlist_jieba = jieba.cut(text, cut_all=True) wl_space_split = " ".join(wordlist_jieba) # wordcloud詞雲 import matplotlib.pyplot as plt from wordcloud import WordCloud, ImageColorGenerator import os import numpy as np import PIL.Image as Image #d = os.path.dirname(__file__) #找一張微信logo圖來生成配色方案,微信logo圖wechat.jpg路徑在F:\\盤下 alice_coloring = np.array(Image.open(os.path.join('F:\\','we9.jpg'))) # 這裡要選擇字型存放路徑,win的字型在C:/windows/Fonts中 """#my_wordcloud = WordCloud().generate(wl_space_split) 預設建構函式 my_wordcloud = WordCloud( background_color='white', # 設定背景顏色 mask = abel_mask, # 設定背景圖片 max_words = 200, # 設定最大顯示的字數 stopwords = STOPWORDS, # 設定停用詞 font_path = C:/Users/Windows/fonts/simkai.ttf', # 設定字型格式,如不設定顯示不了中文 max_font_size = 50, # 設定字型最大值 random_state = 30, # 設定有多少種隨機生成狀態,即有多少種配色方案 scale=.5 ).generate(wl_space_split)""" my_wordcloud = WordCloud(background_color="white", max_words=2000, mask=alice_coloring, max_font_size=40, random_state=42, font_path='C:/Windows/Fonts/simhei.ttf') \ .generate(wl_space_split) image_colors = ImageColorGenerator(alice_coloring) plt.imshow(my_wordcloud.recolor(color_func=image_colors)) plt.imshow(my_wordcloud) plt.axis("off") plt.show() # 儲存圖片到F:\\盤下 併發送到手機裡的檔案傳輸助手(filehelper)裡 my_wordcloud.to_file(os.path.join('F:\\','wechat_cloud.png')) itchat.send_image("F:\\wechat_cloud.png", 'filehelper')
4. 問題:
1) [Errno 2] No such file or directory
原因:人為的給名為wechat的jpg檔案又加了.jpg儲存
2) 報錯unexpected character after line continuation character
my_wordcloud = WordCloud(background_color="white", max_words=2000, mask=alice_coloring,
max_font_size=40, random_state=42,
font_path='C:/Windows/Fonts/simhei.ttf')\
.generate(wl_space_split)
原因:換行符 是 空格+\ ,這裡沒加空格,加上空格或者直接變為一行就可以了
5. 學習筆記
1) re 模組
Regular Expression,正則表示式
2) spider 的除錯debug
a = 'a'
b = 'b'
c = 'c'
e = 'e'
f = 'f'
g = 'g'
h = 'h'
print(a)
1] 除錯
除錯前,在ipython中輸入%reset 把工作空間的所有變數清除,以免影響測試
先不打斷點,用debug (Ctrl+F5)的方式執行。
出現ipdb提示符,說明進入除錯模式
在提示符後輸入c(continue),程式繼續執行到下一個斷點。程式結束。
* 即使沒打斷點,也會在第一句執行之前中斷,未執行第一句。c=.
* q退出除錯
2] 斷點
a. 普通的breakpoint,雙擊行首
ipython中箭頭指示執行到第幾行,在斷點前結束
ipdb> !f
*** NameError: name 'f' is not defined
ipdb> !e
'e'
*!(python語句), 在當前狀態下執行該python語句,例如!f可檢視f變數,f==4可臨時賦值
b. 帶條件的breakpoint,Ctrl+Shift+雙擊行首
在框內可輸入斷點的條件,可以是任意返回True / False 的Python語句,例如(a==4)and(b==5)
發現斷點不起作用,因為不滿足條件。
q結束,重新Ctrl+F5進入debug,會自動在第一行開始前停住,
可以按=Ctrl+F10 單行單行的執行
c. 其他
Step Into,進入函式內部
Return , 跳出來.
3] 除錯常用命令
常用命令:ENTER
(重複上次命令)- a(在某個def中列印這個def接收到的所有arguements)
- b(在某行設定breakpoint)
c
(繼續)直到觸碰下一個breakpointl
( 可以列出當前將要執行的程式碼塊)- ll(列出整個tree)
r
(執行直到子程式結束)- r(eturn) 繼續執行,直到函式體返回
!<python 命令>
- n(ext) 讓程式執行下一行,如果當前語句有一個函式呼叫,用 n 是不會進入被呼叫的函式體中的
- s(tep) 跟 n 相似,但是如果當前有一個函式呼叫,那麼 s 會進入被呼叫的函式體中
- j(ump) 讓程式跳轉到指定的行數
h
(幫助)- a(rgs) 列印當前函式的引數
- p(rint) 最有用的命令之一,列印某個變數
- pp locals() 在某個def中列印該def中的區域性變數
- pp globals() 列印全域性變數
- q(uit) 退出除錯
6. 細節
#獲取好友列表,返回的是json資訊
friends = itchat.get_friends(update=True)[0:] ,friends列表儲存了所有好友的下列資訊。
* 任取 i = friends[1], 以其中一個好友為例 , 可以看到‘Signature’‘City’‘Sex’等標籤的資訊
* 獲取對應標籤的資訊 可以i["xxx"]任取
* replace()方法的語法
str.replace(old, new[, max]) 例如:str.replace("is", "was", 3); max 指定替換次數不超過3次
例如
signature = i["Signature"].replace(" ", "").replace("span", "").replace("class", "").replace("emoji", "")
相關推薦
1] python 爬取微信好友個性簽名,生成詞雲
在Anaconda下完成,參考https://blog.csdn.net/zhonglixianyun/article/details/78229782結果圖:1. 需要的庫 numpy, os, itchat, wordcloud, jieba, 1) 安裝itchat
我用 Python 爬取微信好友,最後發現一個大秘密
代碼 我們 同學 strong 分享 簽名 ast ron tps 前言 你身處的環境是什麽樣,你就會成為什麽樣的人。現在人們日常生活基本上離不開微信,但微信不單單是一個即時通訊軟件,微信更像是虛擬的現實世界。你所處的朋友圈是怎麽樣,慢慢你的思想也會變的怎麽樣。最近在學習
我用 Python 爬取微信好友,最後發現一個大祕密
前言你身處的環境是什麼樣,你就會成為什麼樣的人。現在人們日常生活基本上離不開微信,但微信不單單是一個即時通訊軟體,微信更像是虛擬的現實世界。你所處的朋友圈是怎麼樣,慢慢你的思想也會變的怎麼樣。最近在學習 itchat,然後就寫了一個爬蟲,爬取了我所有的微信好友的資料。並對其中的一些資料進行分析,發現了一些很有
python爬蟲:利用python爬取微信好友,獲得男女比例。
(需要先下個itchat庫, pip install itchat) import itchat # 先登入 itchat.login() # 獲取好友列表 friends = itchat.
python+itchat 爬取微信好友資訊
專案環境 語言:Python3 編輯器:Pycharm 導包:matplotlib、numpy、wordCloud、PIL、jieba、itchat 前言 近朱者赤,近墨者黑。微信已成為我們生活中必不可少的通訊社交工具,朋友圈一個分享我們生活的平臺,接下來先拿我的微信好友開刀,一
爬取微信好友的部分資料,並將所有人的個性簽名製成詞雲圖,哈哈~~~~
import itchat itchat.login() friends = itchat.get_friends(update=True)[0:] male = female = other = 0 for i in friends[1:]: sex = i[
【Python還能幹嘛】爬取微信好友頭像完成馬賽克拼圖(千圖成像)~
馬賽克拼圖 何謂馬賽克拼圖(千圖成像),簡單來說就是將若干小圖片平湊成為一張大圖,如下圖路飛一樣,如果放大看你會發現裡面都是一些海賊王裡面的圖片。 Our Tragets 爬取所有微信好友的頭像
利用Python網絡爬蟲抓取微信好友的簽名及其可視化展示
完成 mage 小白 lin 朋友圈 簽名 教程 技術分享 ctu 前幾天給大家分享了如何利用Python詞雲和wordart可視化工具對朋友圈數據進行可視化,利用Python網絡爬蟲抓取微信好友數量以及微信好友的男女比例,以及利用Python網絡爬蟲抓取微信好友的所在省位
微信PK10平臺開發與用python爬取微信公眾號文章
網址 谷歌瀏覽器 pytho google http 開發 微信 安裝python rom 本文通過微信提供微信PK10平臺開發[q-21528-76294] 網址diguaym.com 的公眾號文章調用接口,實現爬取公眾號文章的功能。註意事項 1.需要安裝python s
Python爬取微信公眾號歷史文章進行資料分析
思路: 1. 安裝代理AnProxy,在手機端安裝CA證書,啟動代理,設定手機代理; 2. 獲取目標微信公眾號的__biz; 3. 進入微信公眾號的歷史頁面; 4. 使用Monkeyrunner控制滑屏;獲取更多的歷史訊息; 5. 記錄文章標題,摘要,建立時間,創作型別,地
爬取微信好友資訊,進行視覺化分析(頭像人臉識別部分已更新!)(程式碼已上傳)
【Code】下載 1、專案說明 本次專案主要實現了以下功能: 2、微信好友資訊的獲取與檔案儲存 3、微信好友性別分析 4、微信好友地區分佈視覺化 5、微信好友個性簽名詞雲圖及好友備註詞雲圖 6、微信好
用python爬取微信公眾號文章
本文通過微信提供的公眾號文章呼叫介面,實現爬取公眾號文章的功能。 # -*- coding: utf-8 -*- from selenium import webdriver import time import json import reques
Python爬取豆瓣電影的短評資料並進行詞雲分析處理
前言 對於爬蟲很不陌生,而爬蟲最為經典的案例就是爬取豆瓣上面的電影資料了,今天小編就介紹一下如果爬取豆瓣上面電影影評,以《我不是藥神》為例。 基本環境配置 版本:Python3.6 系統:Windows 本人對於Python學習建立了一個小小的學習圈子,為各位提供了
Python統計excel表格中文本的詞頻,生成詞雲圖片
matplot round nump window idt excel表格 __name__ xlrd rom import xlrd import jieba import pymysql import matplotlib.pylab as plt from
python 爬取微博信息
微博 爬蟲 python cookie 新浪微博爬取的話需要設計到登錄,這裏我沒有模擬登錄,而是使用cookie進行爬取。獲取cookie:代碼:#-*-coding:utf8-*- from bs4 import BeautifulSoup import requests impor
23個Python爬蟲開源項目代碼:爬取微信、淘寶、豆瓣、知乎、微博等
公眾 mon 成交 個人 標簽 req 不同 數據存儲 百度雲盤 來源:全球人工智能 作者:SFLYQ 今天為大家整理了23個Python爬蟲項目。整理的原因是,爬蟲入門簡單快速,也非常適合新入門的小夥伴培養信心。所有鏈接指向GitHub,祝大家玩的
Python爬蟲開源項目代碼,爬取微信、淘寶、豆瓣、知乎、新浪微博、QQ、去哪網等 代碼整理
http server 以及 pro 模擬登錄 取數 存在 漏洞 搜狗 作者:SFLYQ 今天為大家整理了32個Python爬蟲項目。 整理的原因是,爬蟲入門簡單快速,也非常適合新入門的小夥伴培養信心。所有鏈接指向GitHub,祝大家玩的愉快~ 1、WechatSogou
如何利用Python網絡爬蟲爬取微信朋友圈動態--附代碼(下)
CA external 令行 sta 項目 程序 str 輸入 tar 前天給大家分享了如何利用Python網絡爬蟲爬取微信朋友圈數據的上篇(理論篇),今天給大家分享一下代碼實現(實戰篇),接著上篇往下繼續深入。 一、代碼實現 1、修改Scrapy項目中的ite
如何利用Python網絡爬蟲抓取微信好友數量以及微信好友的男女比例
zha 成功 函數 通訊 好友列表 是否 ID 爬蟲 實現 前幾天給大家分享了利用Python網絡爬蟲抓取微信朋友圈的動態(上)和利用Python網絡爬蟲爬取微信朋友圈動態——附代碼(下),並且對抓取到的數據進行了Python詞雲和wordart可視化,感興趣的夥伴可以戳這
利用Python網絡爬蟲抓取微信好友的所在省位和城市分布及其可視化
Python網絡爬蟲 微信好友 微信朋友圈 可視化 數據采集 前幾天給大家分享了如何利用Python網絡爬蟲抓取微信好友數量以及微信好友的男女比例,感興趣的小夥伴可以點擊鏈接進行查看。今天小編給大家介紹如何利用Python網絡爬蟲抓取微信好友的省位和城市,並且將其進行可視化,具體的教程如下