爬取自己的csdn访问排名信息

爬取自己博客的访问量,积分,排名的信息




学python不久,前一个月看见了一篇爬取csdn的文章,一直想自己试试,今天总算完成了一个比较low的版本了吧

from requests import *
import os
import time
from bs4 import BeautifulSoup
try:
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.103 Safari/537.36'}
    #headers伪装成浏览器访问
    url = "http://blog.csdn.net/bestsort"
    r = get(url = url,headers = headers,timeout = 3)
    if r.status_code != 200:
        print("爬取失败\n")
    else:
        for Time in range(5,0,-1):
    #这里因为不知道怎么调整光标位置和删除,所以直接用cls清屏然后重新打印了
            html = r.text
            soup = BeautifulSoup(html, "html.parser")
            items = soup.find_all('div',attrs={'class':'gradeAndbadge gradewidths'})
    #查看csdn源码发现我们需要的信息都在这个gradeAndbadge gradewidths里面
            print(soup.find('a',attrs={'href':'http://blog.csdn.net/bestsort'}).string)
            #这个是我们的博客名信息
            for i in items:
                items = str(i.find_all('span'))
                print(items.replace('</span>','').replace('<span>','').replace(', <span class="num odd-overhidden">',''))
                # 这里因为博主比较Low不会用正则匹配,就暴力转化为str然后删除指定字符串了
            print('系统将在 %d秒 后自动退出' %Time)
            time.sleep(1)
            Time -= 1
            s = os.system('cls')

except:
    print('抓取失败')
    time.sleep(3)


posted @ 2018-03-04 16:15  秃头大师  阅读(121)  评论(0)    收藏  举报