使用python爬取csdn部落格訪問量
最近學習了python和爬蟲,想寫一個程式練練手,所以我就想到了大家都比較關心的自己的部落格訪問量,使用python來獲取自己部落格的訪問量,這也是後邊我將要進行的專案的一部分,後邊我會對部落格的訪問量進行分析,以折線圖和餅圖等視覺化的方式展示自己部落格被訪問的情況,使自己能更加清楚自己的哪些部落格更受關注,部落格專家請勿噴,因為我不是專家,我聽他們說專家本身就有這個功能。
一、網址分析
進入自己的部落格頁面,網址為:http://blog.csdn.net/xingjiarong 網址還是非常清晰的就是csdn的網址+個人csdn登入賬號,我們來看一下下一頁的網址。
二、如何獲取標題
右鍵檢視網頁的原始碼,我們看到可以找到這樣一段程式碼:
我們可以看到標題都是在標籤
<span class="link_title"><a href="/xingjiarong/article/details/50651235">
所以我們可以使用下面的正則表示式來匹配標題:
<span class="link_title"><a href=".*?">(.*?)</a></span>
三、如何獲取訪問量
拿到了標題之後,就要獲得對應的訪問量了,經過對原始碼的分析,我看到訪問量的結構都是這樣的:
<span class="link_view" title="閱讀次數"> <a href="/xingjiarong/article/details/50651235" title="閱讀次數">閱讀</a>(1140)</span>
括號中的數字即為訪問量,我們可以用下面的正則表示式來匹配:
<span class="link_view".*?><a href=".*?" title="閱讀次數">閱讀</a>\((.*?)\)</span>
四、如何判斷是否為尾頁
接下來我們要判斷當前頁是否為最後一頁,否則我們就不能判斷什麼時候結束了,我找到了原始碼中‘尾頁’的標籤,發現是下面的結構:
<a href="/xingjiarong/article/list/2">下一頁</a> <a href="/xingjiarong/article/list/7">尾頁</a>
所以我們可以用下面的正則表示式來匹配,如果匹配成功就說明當前頁不是最後一頁,否則當前頁就是最後一頁。
<a href=".*?">尾頁</a>
五、程式設計實現
下面是完整的程式碼實現:
#!usr/bin/python
# -*- coding: utf-8 -*-
'''
Created on 2016年2月13日
@author: xingjiarong
使用python爬取csdn個人部落格的訪問量,主要用來練手
'''
import urllib2
import re
#當前的部落格列表頁號
page_num = 1
#不是最後列表的一頁
notLast = 1
account = str(raw_input('輸入csdn的登入賬號:'))
while notLast:
#首頁地址
baseUrl = 'http://blog.csdn.net/'+account
#連線頁號,組成爬取的頁面網址
myUrl = baseUrl+'/article/list/'+str(page_num)
#偽裝成瀏覽器訪問,直接訪問的話csdn會拒絕
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = {'User-Agent':user_agent}
#構造請求
req = urllib2.Request(myUrl,headers=headers)
#訪問頁面
myResponse = urllib2.urlopen(req)
myPage = myResponse.read()
#在頁面中查詢是否存在‘尾頁’這一個標籤來判斷是否為最後一頁
notLast = re.findall('<a href=".*?">尾頁</a>',myPage,re.S)
print '-----------------------------第%d頁---------------------------------' % (page_num,)
#利用正則表示式來獲取部落格的標題
title = re.findall('<span class="link_title"><a href=".*?">(.*?)</a></span>',myPage,re.S)
titleList=[]
for items in title:
titleList.append(str(items).lstrip().rstrip())
#利用正則表示式獲取部落格的訪問量
view = re.findall('<span class="link_view".*?><a href=".*?" title="閱讀次數">閱讀</a>\((.*?)\)</span>',myPage,re.S)
viewList=[]
for items in view:
viewList.append(str(items).lstrip().rstrip())
#將結果輸出
for n in range(len(titleList)):
print '訪問量:%s 標題:%s' % (viewList[n].zfill(4),titleList[n])
#頁號加1
page_num = page_num + 1
下面是部分結果:
輸入csdn的登入賬號:xingjiarong
-----------------------------第1頁---------------------------------
訪問量:1821 標題:python程式設計常用模板總結
訪問量:1470 標題:設計模式之UML(一)類圖以及類間關係(泛化 、實現、依賴、關聯、聚合、組合)
訪問量:0714 標題:ubuntu14.04 安裝並破解MyEclipse2014
訪問量:1040 標題:ubuntu14.04 配置tomcat8
訪問量:1355 標題:java呼叫python方法總結
訪問量:0053 標題:Java多執行緒之Callable和Future
訪問量:1265 標題:跟我學彙編(三)暫存器和實體地址的形成
訪問量:1083 標題:跟我學彙編(二)王爽彙編環境搭建
訪問量:0894 標題:跟我學彙編(一)基礎知識
訪問量:2334 標題:java多執行緒(一)Race Condition現象及產生的原因
訪問量:0700 標題:Matlab矩陣基礎
訪問量:0653 標題:Matlab變數、分支語句和迴圈語句
訪問量:0440 標題:Matlab字串處理
訪問量:0514 標題:Matlab運算子與運算
訪問量:0533 標題:Matlab的資料型別
-----------------------------第2頁---------------------------------
訪問量:0518 標題:OpenStack設計與實現(五)RESTful API和WSGI
訪問量:0540 標題:解決Android SDK Manager下載太慢問題
訪問量:0672 標題:OpenStack設計與實現(四)訊息匯流排(AMQP)
訪問量:0570 標題:分散式檔案儲存FastDFS(五)FastDFS常用命令總結
訪問量:0672 標題:分散式檔案儲存FastDFS(四)配置fastdfs-apache-module
訪問量:0979 標題:分散式檔案儲存FastDFS(一)初識FastDFS
訪問量:0738 標題:分散式檔案儲存FastDFS(三)FastDFS配置
訪問量:0682 標題:分散式檔案儲存FastDFS(二)FastDFS安裝
訪問量:0511 標題:OpenStack設計與實現(三)KVM和QEMU淺析
訪問量:0593 標題:OpenStack設計與實現(二)Libvirt簡介與實現原理
訪問量:0562 標題:OpenStack設計與實現(一)虛擬化
訪問量:0685 標題:食堂買飯的啟示
訪問量:0230 標題:UML之時序圖詳解
訪問量:0890 標題:設計模式之橋樑模式和策略模式的區別
訪問量:1258 標題:設計模式(十二)責任鏈模式
總結:
使用python編寫爬蟲,我個人總結了以下的步驟:
1、分析要抓取的網址特徵,以確定如何生成相關網頁的網址,如果只爬取一個網頁,則這一步可以省略。
2、檢視網頁的原始碼,分析自己想要爬取的內容所在的標籤的特徵。
3、使用正則表示式從原始碼中將自己想要的部分摳出來。
4、程式設計實現。
相關推薦
使用python爬取csdn部落格訪問量
最近學習了python和爬蟲,想寫一個程式練練手,所以我就想到了大家都比較關心的自己的部落格訪問量,使用python來獲取自己部落格的訪問量,這也是後邊我將要進行的專案的一部分,後邊我會對部落格的訪問量進行分析,以折線圖和餅圖等視覺化的方式展示自己部落格被訪問的
Python進階(十八)-Python3爬蟲小試牛刀之爬取CSDN部落格個人資訊
分享一下我的偶像大神的人工智慧教程!http://blog.csdn.net/jiangjunshow 也歡迎轉載我的文章,轉載請註明出處 https://blog.csdn.net/mm2zzyzzp Python進階(十八)-Python3爬蟲實踐
python爬蟲爬取csdn部落格專家所有部落格內容
#coding:utf-8 import urllib2 from bs4 import BeautifulSoup import os import re #import sys #reload(sys) #sys.setdefaultencoding("utf-8") def getPage(hre
部落格搬家系列(二)-爬取CSDN部落格
部落格搬家系列(二)-爬取CSDN部落格 一.前情回顧 部落格搬家系列(一)-簡介:https://blog.csdn.net/rico_zhou/article/details/83619152 部落格搬家系列(三)-爬取部落格園部落格:https://bl
Jsoup爬取CSDN部落格
個人Jsoup練習之作,只做參考: <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <versi
python爬蟲設計刷部落格訪問量(刷訪問量,贊,爬取圖片)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
python爬取csdn的部落格內容
首先說明爬蟲的大體結構可以通用,不過針對字串的匹配是不能通用的,比如你用爬取csdn的程式碼想去爬取部落格園就是不行的了,因為爬取的字元是根據對應的html內容設定的。 使用python構建爬蟲程式有一個簡單的套路,我總結為3步走: 1.re.compile設定查詢的字串樣
爬蟲系列(2)-----python爬取CSDN博客首頁所有文章
成功 -name 保存 eas attr eve lan url att 對於Python初學者來說,爬蟲技能是應該是最好入門,也是最能夠有讓自己有成就感的,今天在整理代碼時,整理了一下之前自己學習爬蟲的一些代碼,今天上第2個簡單的例子,python爬取CSDN博客首頁所有
JAVA爬蟲挖取CSDN部落格文章(續)
前言 之前寫過一篇用jsoup爬取csdn部落格的文章JAVA爬蟲挖取CSDN部落格文章 ,當時博主還在上一家公司實習,由於公司辦公網路需要代理才能訪問外網,那一篇的程式碼邏輯與代理密切相關,可能有些不熟悉jsoup怎麼使用的朋友看了會感覺越看越糊塗,且當時以為爬取所有文章需要用到分
爬取所有部落格
爬取所有部落格的內容並轉換成為pdf格式 from bs4 import BeautifulSoup import pdfkit import re # <a href="https://blog.csdn.net/qq_41911569/article/details/830
Python爬蟲實戰--CSDN部落格爬蟲(附贈瀏覽量小工具)
前言: 哈哈,繼續高興一下,通過自己的小手段,讓部落格訪問量過萬啦~怎麼做到的呢? 大家想一想我們近來所學的爬蟲知識,養兵千日用兵一時,在前面的學習,我們已經可以很輕鬆的爬去一些中小型和大型網站了,現在我們一起來思考一下,我們該怎麼去爬蟲CSDN網站,並順便提高一下我們部落格的瀏覽量呢? 問
(最新)使用爬蟲刷CSDN部落格訪問量——親測有效
說明:該篇部落格是博主一字一碼編寫的,實屬不易,請尊重原創,謝謝大家! 1.概述 前言:前兩天剛寫了第一篇部落格https://blog.csdn.net/qq_41782425/article/details/84934224 發現閱讀量很少,博主很生氣,當時就想到使用爬蟲來
抓取csdn部落格的所有文章url
輸入部落格的主域名,就可以抓取這個部落格所有的文章編號。 # -*- coding:utf8 -*- import string import urllib2 import re import time import random class CSDN_Spider:
python 爬蟲爬去自己部落格的訪問量
廢話不多說,我也是剛剛學習小白一個,但是經過我的測試確實是可以用的,只不過大家要把時間設定的要長一點 先上程式碼,使用py3 程式碼的相關解析可以看我的其他部落格,裡面有詳細的介紹 __author__ = 'MrChen' &
爬取多頁資訊——爬取自己CSDN部落格
在學完莫煩B站的爬蟲視訊的3.3節之後,我完成了這個專案,感覺收穫還是不小的。 體會是自己練手感覺進步挺快,能做出一個小專案給了我一些自信心,中間幾個棘手的問題: 1如何獲取下一頁:分析我的主頁的HTML,發現有一個總的文章數、有pagesize(每頁最多顯示幾篇文章),有此兩值就可以得到總
Python爬蟲實戰一:爬取csdn學院所有課程名、價格和課時
import urllib.request import re,xlwt,datetime class csdn_spider(): def __init__(self): self.c = 0 def sava_data(self,name,class_num,price
為什麼我CSDN的部落格訪問量不變了?
我的BLOG訪問量就像您看到的,卡在那個數量上就不動了,這種現象持續了快一個月了!而且開啟空間一欄,你會發現部落格訪問量是0,評論數量也是0,真是無語了。CSDN的部落格一直是問題不斷,這次又是怎麼了?真希望官方的人出面解釋一下,到底是什麼原因,能不能修復好,如果不能的話真應該考慮換個部落格了,很多人都換了。
Python-selenium翻頁爬取csdn博客保存數據入mysql
一個 數據 截圖 代碼 on() 博客 cat utf8 data csdn博客部分截圖 博客鏈接:https://blog.csdn.net/kevinelstri/article/list/1? 此次目的是要爬取文章標題,發表文章時間以及閱讀數量 1.瀏覽器
python爬取網易雲音樂歌單音樂
string attrs default textarea bsp color read contents dom 在網易雲音樂中第一頁歌單的url:http://music.163.com/#/discover/playlist/ 依次第二頁:http://music.1
python 爬取qidian某一頁全部小說
decode return data- dib read etc break beautiful range 1 import re 2 import urllib.request 3 from bs4 import BeautifulSou