zoukankan      html  css  js  c++  java
  • 懒人必备 |通过爬虫 筛选以及查看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("**************你的上传资源是多少页呢?不知道的话,多说点也无妨!**************
    请输入:")
     9 username=input("请输入你的CSDN博客用户ID,例如:https://blog.csdn.net/8888 则博客ID为:888  
    请输入:")
    10 download_score=input("请输入你希望看到的资源最小下载分数是多少?
    请输入:")
    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("
    *****************第" + str(sum) + "个**************")
    34             print("******下载积分为:"+str(p1[0])+"  
    ******  对应下载链接:https://download.csdn.net/"+str(temp_url))
    35             sum = sum + 1
    36 print("符合条件的共计:"+str(sum-1))

    OK

  • 相关阅读:
    VSFTPD无法上传的解决方法
    linux下vsftpd的安装与配置说明
    长轮询
    采用handle消息机制实现轮播效果
    开启AsyncTask从网络加载图片
    使用异步httpclient框架做get,post提交数据
    使用post方式提交数据
    使用get方式提交数据
    json,xml,Html解析
    常用的有关文件上传下载的框架和图片加载框架
  • 原文地址:https://www.cnblogs.com/hwpbetter/p/13353644.html
Copyright © 2011-2022 走看看