懒人必备 |通过爬虫 筛选以及查看CSDN 满足相应积分的资源列表 简单好用
为了方便查看自己上传资源情况。
不想一次一次的翻阅自己上传资源列表进行查看。
写个简单的爬虫,就可以解决这些问题啦。
视频演示:https://www.bilibili.com/video/BV1qa4y1a7WS
视频里面的记事本:
页数:50 用户名:weixin_42859280 积分最低:10 代码。就是为了方便查看自己上传资源所对应的积分。 可以实现进行积分筛选。找出符合自己条件的资源列表。 下面来演示一下。 积分多少都是可以进行筛选。只不过积分低的话,出现的列表内容会比较多。 可以随便找出几个,进行验证一下! 看来还是比较符合的! 提升一下筛选条件! OK验证没事! kk 2020-07-21 10-07-31
代码:
1 # coding=utf-8 2 import urllib.request 3 import time 4 import re 5 import os 6 import requests 7 from bs4 import BeautifulSoup 8 page_num = input("**************你的上传资源是多少页呢?不知道的话,多说点也无妨!**************\n请输入:") 9 username=input("请输入你的CSDN博客用户ID,例如:https://blog.csdn.net/8888 则博客ID为:888 \n请输入:") 10 download_score=input("请输入你希望看到的资源最小下载分数是多少?\n请输入:") 11 num = 1 12 sum = 1 13 while num<int(page_num): 14 url='https://download.csdn.net/user/'+str(username)+'/uploads/'+str(num) 15 num = num+1 16 k = {'user-agent': 'Mozilla/5.0'} 17 r = requests.get(url,headers = k,timeout = 30) 18 r.raise_for_status() 19 r.encoding = r.apparent_encoding 20 soup = BeautifulSoup(str(r.text), "html.parser") 21 data = soup.find_all(class_="my_resource") 22 data1=BeautifulSoup(str(data),"html.parser") 23 data2 = data1.find_all(class_="card clearfix") 24 for i in data2: 25 need_data=BeautifulSoup(str(i),"html.parser") 26 temp_url=need_data.find(class_="content").find('a')['href'] 27 temp_score=need_data.find(class_="score") 28 pat = re.compile('<[^>]+>') # 去掉尖括号里面的东西 29 pat1 = re.compile(r'\d+\.?\d*') 30 p0 = pat.sub('', str(temp_score)) 31 p1 = pat1.findall(str(p0)) 32 if int(p1[0]) >= int(download_score): 33 print("\n*****************第" + str(sum) + "个**************") 34 print("******下载积分为:"+str(p1[0])+" \n****** 对应下载链接:https://download.csdn.net/"+str(temp_url)) 35 sum = sum + 1 36 print("符合条件的共计:"+str(sum-1))
OK