Python爬虫:爬取Github用户粉丝和关注用户的主页链接后,对用户主页信息进行筛选

Python爬虫:爬取Github用户粉丝和关注用户的主页链接后,对用户主页信息进行筛选


引入

相信有朋友遇到需要批量爬取Github用户粉丝和关注用户的主页链接,然后进入对应主页链接进行用户信息分析的工作。
为了提高根据用户主页链接对用户信息进行分析的效率,可以在分析前对需要分析的用户主页链接进行筛选,进而选出更加值得分析的用户主页链接,提高整体的分析效率。
在我的一篇文章介绍了如何爬取用户主页链接,有兴趣的同学可以去看一下,本文主要介绍如何进行筛选。

有兴趣的同学可以去看一下之前的文章
Python爬虫学习链接: Python爬虫:爬取Github用户粉丝和关注用户的主页链接


一、筛选条件设定

筛选的条件设定可以有很多,按照自己的需求来设定就好。我设定的条件是:仓库数据和点赞数不要过多或者过少,要在一个合理的区间。数量过少说明可能是不活跃用户,数量过多可能涉及的类别很广泛,两种情况都不利于最终的用户分析结果,因此我们可以做一个简单的筛选。
具体代码如下:

for url in toCheckUrl:
   secondurl = f'https://github.com/{url}'
   response2 = requests.get(secondurl, headers=headers, timeout=100, verify=False)
   html2 = response2.text
   soup2 = BeautifulSoup(html2, 'lxml')
   repNumber = '0'
   starNumber = '0'
   //有相同的标签名,因此我根据标签的排列顺序选取自己的需要的数据
   if (len(soup2.find_all('span', class_='Counter')) > 1):
       repNumber = soup2.find_all('span', class_='Counter')[0].text
   if(len(soup2.find_all('span', class_='Counter')) > 4):
       starNumber = soup2.find_all('span', class_='Counter')[3].text
   //接下来是易错点:
   //一定要考虑到Github网站中点赞数可能出现1.3k这种情况,无法直接用来进行数据大小的判断,因此我们可以直接排除掉或者转化为常规数字,我这里选择的是直接排除掉
   if ('k' not in starNumber) and ('k' not in repNumber) and 10 <= int(repNumber) + int(starNumber) <= 500 :
       follower_names.append(url)
       wb.cell(row=count, column=1, value=f'https://github.com/{url}?tab=repositories')
       wb.cell(row=count, column=2, value=url)
       count += 1

总结

用户主页链接筛选后再分析的效果有明显的改善,去除了很多不利影响,分析出来的数据更加准确客观。
希望对大家有用!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值