目录
- 说明
- 涨粉不可不知的几件事
- 几个常规的涨粉之道
- CSDN的数据运营之道
- 粉丝列表
- 关注列表
- 关注某人
- 取消关注
- 获得某个用户的主要信息:昵称、排名、原创数、粉丝数等
- 其它数据
- 有了数据,怎么涨粉?
说明
直到今年,我才开始重视涨粉,看着很多年轻码农的粉丝数过万,有点惭愧。直接在CSDN上搜索了一下:
看来这个涨粉事情是很多码农关心的事情啊,为什么呢?因为今年CSDN对平台做了调整,鼓励优质内容和原创,只有粉丝数过500才能上传付费资源。我看了一下上面这些热门文章,最终的结论是:涨粉无捷径,数据有学问,下面说说我的发现。
涨粉不可不知的几件事
首先说明,违法违规的涨粉途径不要去做:
- 例如网上购买CSDN账号:比较贵,不值得也不屑于去干
- 互推。拉个朋友圈,大家互相关注:也没那么简单,费神费力,君子不为。
- 刷粉工具?目前还没有,除非你能破解CSDN的登录token生成机制
- 或者你暴力破解别的用户的密码——CSDN有很多非活跃用户。然后用别人账号登录,再替你刷粉。
- 刷阅读量来涨粉?会被封号,你当然能通过很多代理IP刷上来。不过也是君子不为。
几个常规的涨粉之道
- 尽量写优质长文,注意配图和排版,整体逻辑要清晰,文字不要太做作,也不要太死板。读者读你的文章可是付出了时间的。
- 发文时选择“粉丝可见”,这里就不贴图了。
- 关注热榜、排行榜: https://blog.csdn.net/rank/list/content
- 回答问题,多参与BBS讨论区的交流,扩大影响力
CSDN的数据运营之道
下面才是本文的重点。CSDN上有各式各样的数据,要知道这是国内第一大技术社区,3000万+的用户群体。所以上面产生的数据是值得分析研究的。好在CSDN比较开放,这些数据比较容易获取。
- 用户ID,以及用户的主要信息
- 社区列表
- 粉丝和关注的人
- 新增粉丝来源
- 阅读量
- 还有各种统计数据,在“个人中心”可以看到
先说说怎么获得这些数据,当然是通过程序。网上有写爬虫获取的,采用WebMagic,其实大部分数据无需那么复杂,简单的python几行脚本就能搞掂。下面举例说明。
粉丝列表
下面代码获得某个用户的全部粉丝列表。这个API无需登录,直接分页查询即可:
def get_fans(self, user_id):
fans = []
id = '0'
for x in range(1, 20): ## 此处范围自己调节
url = f'https://blog.csdn.net/community/home-api/v2/get-fans-list?page={x}&pageSize=20&id={id}&noMore=false&blogUsername={user_id}'
print(url)
response = self.session.get(url, headers=HEADERS, verify=False)
data = json.loads(response.text)
users = data['data']['list']
if users == None:
break
print(f'抓取了{len(users)}个粉丝')
for user in users:
fans.append(user['username'])
id = user['id']
return fans
关注列表
获得某个用户的关注列表也无需登录,同样是分页查询:
def fetch_my_follows(self, user_id):
'''获得我关注的人'''
follows = []
for x in range(1, 101): ## 此处自行调节范围
url = f'https://blog.csdn.net/community/home-api/v1/get-follow-list?page={x}&size=20&noMore=false&blogUsername={user_id}'
response = self.session.get(url, headers=HEADERS, verify=False)
if response.status_code == 200:
data = json.loads(response.text)
users = data['data']['list']
if users == None:
break
for user in users:
follows.append(user['username'])
return follows
关注某人
用户owner关注用户user_id,可以采用如下代码:
def follow_user(self, owner, user_id):
self.session.cookies.update(
{'UserToken': USER_TOKEN, 'UserName': owner, 'dc_session_id': SESSION_ID})
data = {"username": owner, "follow": user_id, "source": "ME", "fromType": "pc", "detailSourceName": "个人主页"}
response = self.session.post('https://mp-action.csdn.net/interact/wrapper/pc/fans/v1/api/follow',
headers=HEADERS, json=data, verify=False)
return response
此函数需要先登录,你可以在浏览器里登录一下,通过抓包工具拿到UserToken和dc_session_id即可。当然dev_tool一样可以。但是,我怎么找到需要这两个cookie值呢?靠的是mitmproxy这个代理工具。有了这两个cookie值,你能调用很多API。但注意有时长限制。
其它cookie值没有用。大家可以参考我写的【爬虫与逆向】两个mitmproxy实例级联轻松调试抓包过程
取消关注
和上面一样,取得UserToken和session_id即可:
def unfollow_user(self, owner, user_id):
self.session.cookies.update(
{'UserToken': USER_TOKEN, 'UserName': owner, 'dc_session_id': SESSION_ID})
data = {"username": owner, "follow": user_id, "source": "ME", "fromType": "pc", "detailSourceName": "个人主页"}
response = self.session.post('https://mp-action.csdn.net/interact/wrapper/pc/fans/v1/api/unFollow',
headers=HEADERS, json=data, verify=False)
return response
但是,注意:每天只能取关30次。
获得某个用户的主要信息:昵称、排名、原创数、粉丝数等
此API无需登录,在每个用户主页即可获得:
def get_userinfo(self, user_id):
url = f'https://blog.csdn.net/{user_id}'
response = self.session.get(url, headers=HEADERS, verify=False)
soup = BeautifulSoup(response.content, 'lxml')
dom = etree.HTML(str(soup))
dao = csdn_dao.CsdnDao()
user = csdn_db_model.CsdnUser()
# 别名
alias = soup.select("div.user-profile-head-name>div:first-child")[0].text
# 原创
user.innovates = self.get_intvalue(
dom.xpath('//div[@class="user-profile-head-info-r-c"]//div[text()="原创"]/preceding-sibling::div[1]'))
user.ranking = self.get_intvalue(
dom.xpath('//div[@class="user-profile-head-info-r-c"]//div[text()="排名"]/preceding-sibling::div[1]'))
user.fans_count = self.get_intvalue(
dom.xpath('//div[@class="user-profile-head-info-r-c"]//div[text()="粉丝"]/preceding-sibling::div[1]'))
dao.update_by_id(user_id, user)
其它数据
获得用户列表,社区列表,都是如法炮制,后续我贴上来。
有了数据,怎么涨粉?
当然不能直接涨粉,只能帮你涨粉,例如你关注那些优质用户,和你有技术方向相同的用户。给他们发私信,我这里也有程序自动发送私信。关注别人多了,100个里就会有一个回关你。这不就涨粉了吗?当然,CSDN只能最多关注2000个用户,但是你可以不断调换嘛。
把这些基本数据汇聚到一起后,就能分析出活跃用户,他的涨粉规律,以及热门文章了,后续我会把优质用户的文章汇集成PDF,方便大家浏览。