爬取自己的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)

浙公网安备 33010602011771号