Python一日一练05----怒刷点击量

功能

自己主动获取CSDN文章列表,并对每篇文章添加点击量.







源代码

import urllib.request
import re
import time
import random
from bs4 import BeautifulSoup

p = re.compile('/a359680405/article/details/........')

#自己的博客主页
url = "http://blog.csdn.net/a359680405"

#使用build_opener()是为了让python程序模仿浏览器进行訪问
opener = urllib.request.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]

html = opener.open(url).read().decode('utf-8')

allfinds = p.findall(html)
print(allfinds)

urlBase = "http://blog.csdn.net"#须要将网址合并的部分
#页面中的网址有反复的,须要使用set进行去反复
mypages = list(set(allfinds))
for i in range(len(mypages)):
    mypages[i] = urlBase+mypages[i]

print('要刷的网页有:')
for index , page in enumerate(mypages) :
    print(str(index), page)

#设置每一个网页要刷的次数
brushMax = 200

#全部的页面都刷
print('以下開始刷了哦:')
for index , page in enumerate(mypages) :
    brushNum=random.randint(0,brushMax)
    for j in range(brushNum):
        try :
            pageContent = opener.open(page).read().decode('utf-8')
            #使用BeautifulSoup解析每篇博客的标题
            soup = BeautifulSoup(pageContent)
            blogTitle = str(soup.title.string)
            blogTitle = blogTitle[0:blogTitle.find('-')]
            print(str(j) , blogTitle) 
            
        except urllib.error.HTTPError:
            print('urllib.error.HTTPError')
            time.sleep(1)#出现错误。停几秒先
            
        except urllib.error.URLError:
            print('urllib.error.URLError')
            time.sleep(1)#出现错误,停几秒先
        time.sleep(0.1)#正常停顿,以免server拒绝訪问


原文地址:https://www.cnblogs.com/yxwkf/p/5251156.html