簡單爬蟲 記錄部落格流量 day day up

2021-07-31 10:18:10 字數 2240 閱讀 8974

做了乙個小工具,用於記錄我的csdn部落格每天的流量變化,當程式執行的的時候捕獲到一場則傳送郵件到我的郵箱,告知我來處理異常。每天的流量會記錄在csv檔案中,可以使用pandas方便的獲取檔案內容並繪圖。

用到的工具包括

更詳細的內容請看**注釋

import requests   # 傳送網路請求

import bs4 # 解析網頁內容

import csv # 讀寫csv檔案

from datetime import datetime

import smtplib # 用於傳送郵件

import time # sleep

# csdn 部落格位址,一下是我的位址

__url = ""

defsend_mail

(content, to_address='[email protected]'):

try:

content = "[部落格記錄系統出現故障]: " + content

# 這裡使用的是網易的smtp伺服器

# 預設使用ssl連線,預設的埠號是465

smtp = smtplib.smtp_ssl(" smtp.163.com", port=465)

# qq 郵箱賬號

username = "××××××"

# 郵箱授權碼

password = "××××××"

smtp.login(username, password)

smtp.sendmail(username,

to_address,

content)

except exception as base_e:

log_line = "{}:{}".format(datetime.now(), str(base_e))

print(log_line)

with open('log.txt', 'a') as f:

f.write(log_line)

defget_page_content

(url):

""" 獲取網頁內容

"""headers =

r = requests.get(url, headers=headers)

if r.status_code != 200:

return

""else:

return r.text

defget_flux

(page_content):

if page_content is

none:

return

none

soup = bs4.beautifulsoup(page_content, "html.parser")

return int(soup.select("#blog_rank li span")[0].string[:-1])

defwrite_csv

(flux_data, file_name='flux.csv'):

""" 寫入csv檔案

:param flux_data:

:param file_name:

:return:

"""row = [str(datetime.now().date()), str(flux_data)]

with open(file_name, 'a') as f:

writer = csv.writer(f)

writer.writerow(row)

if __name__ == '__main__':

while

true:

try:

content = get_page_content(url=__url)

flux = get_flux(content)

print(flux)

write_csv(flux_data=flux)

except exception as e:

send_mail(e)

time.sleep(24 * 60 * 60) # 每天記錄一次

這裡面綜合了一些很小的知識點,包括以下內容

+ 使用csv模組讀寫csv檔案

+ requests庫的簡單使用(傳送get訊息,設定headers)

+ 使用bs4解析網頁內容

+ 傳送郵件

麻雀雖小,五臟俱全。希望大家能對大家有所幫助

提高部落格流量 方法

個人部落格如何增加流量作為乙個blogger,適當的推廣是需要的。部落格推廣總結起來,有三個渠道 一是把部落格提交到傳統的搜尋引擎,二是把部落格提交到專業的部落格搜尋引擎,第三個渠道就是提交到各部落格推廣平台。部落格聯盟收集和總結了24個對部落格推廣有所幫助的 本來應該還有很多的相關 但是因為這次 ...

python指令碼 刷CSDN部落格流量

本指令碼可以通過開啟csdn部落格頁面,來增加部落格訪問量。前置條件 安裝了python 安裝了瀏覽器核心,我這裡用的是chrome的指令碼如下 usr bin evn python encoding utf 8 file blog.py time 2019 1 22 8 42 author rob...

增加部落格流量的10個方法

真正接觸到社交性 時,你會明白成功其實並沒有什麼靈丹妙藥。世界上沒有立竿見影的奇蹟,如果有的話,也只會是曇花一現。和生活中的其它東西一 樣,成功需要堅持,需要耐心,需要毅力。這篇文章會給新手介紹獲得入站鏈結和部落格高流量的10個方法。1.請求交換鏈結 2.高質量的內容是關鍵 這是陳詞濫調了,但它的重...