Python一日一練05----怒刷點選量
阿新 • • 發佈:2019-01-27
功能
自動獲取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)#正常停頓,以免伺服器拒絕訪問