工具:PyCharm
分析:首先对需要爬取的阅读量进行分析,在html页面中,阅读量的显示是在
<span class="read-num">阅读数:.*</span>
语句中,然后得到网页的html对此语句进行正则表达式的匹配。
由于要生成图像,图像是由点来确定的,所以横坐标自然是1-n的文章数,但在爬取的过程中发现第一篇找到的并不是我的文章,所以就直接忽略掉了。然后就是对爬取到的结果进行切割,要把其中的数字全部切割出来,并且转化为整型,将这一组数对应的存入另一个数组中,然后就是调用库函数pylab,放入横坐标数组,以及纵坐标数组,生成图像。
代码如下:
import pylab
import requests
import numpy
import re;
import urllib;
url = "https://blog.csdn.net/ever_glow";
str = requests.get(url).text;
aim = r'<span class="read-num">阅读数:.*</span>';
s = re.compile(aim);
li = s.findall(str);
now = 1;
x = [];
y = [];
for i in li:
if(now == 1):
now += 1;
continue;
x.append(int(now-1));
now += 1;
t = re.compile(r"[\d]");
tt = t.findall(i);
sum = 0;
a = list(map(int,tt));
for j in a:
sum = sum*10+j;
y.append(sum);
print(x);
print(y);
pylab.plot(x,y);
pylab.title("Visit Display");
pylab.show();
图像如下:
不得不说python的库确实强大,好多东西都是封装好的,让我这种菜鸡体验感极好。