最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何使用python爬取csdn博客訪問量

 更新時(shí)間:2016年02月14日 09:39:58   作者:xingjiarong  
這篇文章主要介紹了如何使用python爬取csdn博客訪問量的相關(guān)資料,需要的朋友可以參考下

最近學(xué)習(xí)了python和爬蟲,想寫一個(gè)程序練練手,所以我就想到了大家都比較關(guān)心的自己的博客訪問量,使用python來獲取自己博客的訪問量,這也是后邊我將要進(jìn)行的項(xiàng)目的一部分,后邊我會對博客的訪問量進(jìn)行分析,以折線圖和餅圖等可視化的方式展示自己博客被訪問的情況,使自己能更加清楚自己的哪些博客更受關(guān)注,博客專家請勿噴,因?yàn)槲也皇菍<遥衣犓麄冋f專家本身就有這個(gè)功能。

一、網(wǎng)址分析

這里寫圖片描述

進(jìn)入自己的博客頁面,網(wǎng)址為:http://blog.csdn.net/xingjiarong 網(wǎng)址還是非常清晰的就是csdn的網(wǎng)址+個(gè)人csdn登錄賬號,我們來看一下下一頁的網(wǎng)址。

這里寫圖片描述

看到第二頁的地址為:http://blog.csdn.net/xingjiarong/article/list/2
后邊的數(shù)字表示現(xiàn)在正處于第幾頁,再用其他的頁面驗(yàn)證一下,確實(shí)是這樣的,那么第一頁為什么不是http://blog.csdn.net/xingjiarong/article/list/1呢,那么我們在瀏覽器中輸入http://blog.csdn.net/xingjiarong/article/list/1試試,哎,果然是第一頁啊,其實(shí)第一頁是被重定向了,http://blog.csdn.net/xingjiarong被重定向到http://blog.csdn.net/xingjiarong/article/list/1,所以兩個(gè)網(wǎng)址都能訪問第一頁,那么現(xiàn)在規(guī)律就非常明顯了:
http://blog.csdn.net/xingjiarong/article/list/ + 頁號

二、如何獲取標(biāo)題

右鍵查看網(wǎng)頁的源代碼,我們看到可以找到這樣一段代碼:

這里寫圖片描述 

我們可以看到標(biāo)題都是在標(biāo)簽

<span class="link_title"><a href="/xingjiarong/article/details/50651235">

所以我們可以使用下面的正則表達(dá)式來匹配標(biāo)題:

<span class="link_title"><a href=".*?">(.*?)</a></span>

三、如何獲取訪問量

拿到了標(biāo)題之后,就要獲得對應(yīng)的訪問量了,經(jīng)過對源碼的分析,我看到訪問量的結(jié)構(gòu)都是這樣的:

<span class="link_view" title="閱讀次數(shù)"> <a href="/xingjiarong/article/details/50651235" title="閱讀次數(shù)">閱讀</a>(1140)</span>

括號中的數(shù)字即為訪問量,我們可以用下面的正則表達(dá)式來匹配:

<span class="link_view".*?><a href=".*?" title="閱讀次數(shù)">閱讀</a>\((.*?)\)</span>

四、如何判斷是否為尾頁

接下來我們要判斷當(dāng)前頁是否為最后一頁,否則我們就不能判斷什么時(shí)候結(jié)束了,我找到了源碼中‘尾頁'的標(biāo)簽,發(fā)現(xiàn)是下面的結(jié)構(gòu):

<a href="/xingjiarong/article/list/2">下一頁</a> <a href="/xingjiarong/article/list/7">尾頁</a>

所以我們可以用下面的正則表達(dá)式來匹配,如果匹配成功就說明當(dāng)前頁不是最后一頁,否則當(dāng)前頁就是最后一頁。

<a href=".*?">尾頁</a>

五、編程實(shí)現(xiàn)

下面是完整的代碼實(shí)現(xiàn):

#!usr/bin/python
# -*- coding: utf-8 -*-
'''
Created on 2016年2月13日
@author: xingjiarong
使用python爬取csdn個(gè)人博客的訪問量,主要用來練手
'''
import urllib2
import re
#當(dāng)前的博客列表頁號
page_num = 1
#不是最后列表的一頁
notLast = 1
account = str(raw_input('輸入csdn的登錄賬號:'))
while notLast:
#首頁地址
baseUrl = 'http://blog.csdn.net/'+account
#連接頁號,組成爬取的頁面網(wǎng)址
myUrl = baseUrl+'/article/list/'+str(page_num)
#偽裝成瀏覽器訪問,直接訪問的話csdn會拒絕
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = {'User-Agent':user_agent}
#構(gòu)造請求
req = urllib2.Request(myUrl,headers=headers)
#訪問頁面
myResponse = urllib2.urlopen(req)
myPage = myResponse.read()
#在頁面中查找是否存在‘尾頁'這一個(gè)標(biāo)簽來判斷是否為最后一頁
notLast = re.findall('<a href=".*?">尾頁</a>',myPage,re.S)
print '-----------------------------第%d頁---------------------------------' % (page_num,)
#利用正則表達(dá)式來獲取博客的標(biāo)題
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()) 
#利用正則表達(dá)式獲取博客的訪問量
view = re.findall('<span class="link_view".*?><a href=".*?" title="閱讀次數(shù)">閱讀</a>\((.*?)\)</span>',myPage,re.S)
viewList=[]
for items in view:
viewList.append(str(items).lstrip().rstrip())
#將結(jié)果輸出 
for n in range(len(titleList)):
print '訪問量:%s 標(biāo)題:%s' % (viewList[n].zfill(4),titleList[n])
#頁號加1
page_num = page_num + 1

下面是部分結(jié)果:

輸入csdn的登錄賬號:xingjiarong
-----------------------------第1頁---------------------------------
訪問量:1821 標(biāo)題:python編程常用模板總結(jié)
訪問量:1470 標(biāo)題:設(shè)計(jì)模式之UML(一)類圖以及類間關(guān)系(泛化 、實(shí)現(xiàn)、依賴、關(guān)聯(lián)、聚合、組合)
訪問量:0714 標(biāo)題:ubuntu14.04 安裝并破解MyEclipse2014
訪問量:1040 標(biāo)題:ubuntu14.04 配置tomcat8
訪問量:1355 標(biāo)題:java調(diào)用python方法總結(jié)
訪問量:0053 標(biāo)題:Java多線程之Callable和Future
訪問量:1265 標(biāo)題:跟我學(xué)匯編(三)寄存器和物理地址的形成
訪問量:1083 標(biāo)題:跟我學(xué)匯編(二)王爽匯編環(huán)境搭建
訪問量:0894 標(biāo)題:跟我學(xué)匯編(一)基礎(chǔ)知識
訪問量:2334 標(biāo)題:java多線程(一)Race Condition現(xiàn)象及產(chǎn)生的原因
訪問量:0700 標(biāo)題:Matlab矩陣基礎(chǔ)
訪問量:0653 標(biāo)題:Matlab變量、分支語句和循環(huán)語句
訪問量:0440 標(biāo)題:Matlab字符串處理
訪問量:0514 標(biāo)題:Matlab運(yùn)算符與運(yùn)算
訪問量:0533 標(biāo)題:Matlab的數(shù)據(jù)類型
-----------------------------第2頁---------------------------------
訪問量:0518 標(biāo)題:OpenStack設(shè)計(jì)與實(shí)現(xiàn)(五)RESTful API和WSGI
訪問量:0540 標(biāo)題:解決Android SDK Manager下載太慢問題
訪問量:0672 標(biāo)題:OpenStack設(shè)計(jì)與實(shí)現(xiàn)(四)消息總線(AMQP)
訪問量:0570 標(biāo)題:分布式文件存儲FastDFS(五)FastDFS常用命令總結(jié)
訪問量:0672 標(biāo)題:分布式文件存儲FastDFS(四)配置fastdfs-apache-module
訪問量:0979 標(biāo)題:分布式文件存儲FastDFS(一)初識FastDFS
訪問量:0738 標(biāo)題:分布式文件存儲FastDFS(三)FastDFS配置
訪問量:0682 標(biāo)題:分布式文件存儲FastDFS(二)FastDFS安裝
訪問量:0511 標(biāo)題:OpenStack設(shè)計(jì)與實(shí)現(xiàn)(三)KVM和QEMU淺析
訪問量:0593 標(biāo)題:OpenStack設(shè)計(jì)與實(shí)現(xiàn)(二)Libvirt簡介與實(shí)現(xiàn)原理
訪問量:0562 標(biāo)題:OpenStack設(shè)計(jì)與實(shí)現(xiàn)(一)虛擬化
訪問量:0685 標(biāo)題:食堂買飯的啟示
訪問量:0230 標(biāo)題:UML之時(shí)序圖詳解
訪問量:0890 標(biāo)題:設(shè)計(jì)模式之橋梁模式和策略模式的區(qū)別
訪問量:1258 標(biāo)題:設(shè)計(jì)模式(十二)責(zé)任鏈模式

總結(jié):

使用python編寫爬蟲,我個(gè)人總結(jié)了以下的步驟:

1、分析要抓取的網(wǎng)址特征,以確定如何生成相關(guān)網(wǎng)頁的網(wǎng)址,如果只爬取一個(gè)網(wǎng)頁,則這一步可以省略。

2、查看網(wǎng)頁的源碼,分析自己想要爬取的內(nèi)容所在的標(biāo)簽的特征。

3、使用正則表達(dá)式從源碼中將自己想要的部分摳出來。

4、編程實(shí)現(xiàn)。

以上內(nèi)容是針對如何使用python爬取csdn博客訪問量的相關(guān)知識,希望對大家有所幫助。

相關(guān)文章

  • PyTorch的SoftMax交叉熵?fù)p失和梯度用法

    PyTorch的SoftMax交叉熵?fù)p失和梯度用法

    今天小編就為大家分享一篇PyTorch的SoftMax交叉熵?fù)p失和梯度用法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 安裝不同版本的tensorflow與models方法實(shí)現(xiàn)

    安裝不同版本的tensorflow與models方法實(shí)現(xiàn)

    這篇文章主要介紹了安裝不同版本的tensorflow與models方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • TensorFlow自定義損失函數(shù)來預(yù)測商品銷售量

    TensorFlow自定義損失函數(shù)來預(yù)測商品銷售量

    這篇文章主要介紹了TensorFlow自定義損失函數(shù)——預(yù)測商品銷售量,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • python調(diào)試工具Birdseye的使用教程

    python調(diào)試工具Birdseye的使用教程

    調(diào)試是寫出良好代碼的必備條件,Birdseye是一款優(yōu)秀的用于python的調(diào)試工具,本文簡單的介紹了Birdseye的使用方法
    2021-05-05
  • 在django模板中實(shí)現(xiàn)超鏈接配置

    在django模板中實(shí)現(xiàn)超鏈接配置

    今天小編就為大家分享一篇在django模板中實(shí)現(xiàn)超鏈接配置,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 如何用Pythony驗(yàn)證萬物歸一(考拉咨猜想)

    如何用Pythony驗(yàn)證萬物歸一(考拉咨猜想)

    考拉咨猜想簡單的來說,就是你隨便給我一個(gè)整數(shù),我最后都是會通過固定的規(guī)則演變成"1",萬物歸一.今天我們就用那Python驗(yàn)證一下這個(gè)猜想
    2021-06-06
  • 如何用Python將圖片轉(zhuǎn)為字符畫

    如何用Python將圖片轉(zhuǎn)為字符畫

    本文主要介紹了用Python將圖片轉(zhuǎn)為黑白字符畫的方法,使用ascii字符把圖片轉(zhuǎn)為黑白字符畫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python venv虛擬環(huán)境配置過程解析

    Python venv虛擬環(huán)境配置過程解析

    這篇文章主要介紹了Python venv虛擬環(huán)境配置過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 對python判斷ip是否可達(dá)的實(shí)例詳解

    對python判斷ip是否可達(dá)的實(shí)例詳解

    今天小編就為大家分享一篇對python判斷ip是否可達(dá)的實(shí)例詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 樹莓派安裝OpenCV3完整過程的實(shí)現(xiàn)

    樹莓派安裝OpenCV3完整過程的實(shí)現(xiàn)

    這篇文章主要介紹了樹莓派安裝OpenCV3完整過程的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-10-10

最新評論

乐陵市| 灌云县| 丘北县| 昔阳县| 甘南县| 周宁县| 滁州市| 长武县| 荔波县| 马鞍山市| 景德镇市| 溧阳市| 华蓥市| 连平县| 永登县| 兴和县| 垣曲县| 木里| 台南县| 宜州市| 莆田市| 洛浦县| 得荣县| 大宁县| 丹棱县| 广宗县| 延津县| 湟中县| 赣榆县| 西平县| 神木县| 苏尼特左旗| 洪雅县| 任丘市| 南昌市| 咸阳市| 喀喇沁旗| 上蔡县| 泸州市| 高平市| 海盐县|