csdn获取自己所有博客的地址,包含分页
生活随笔
收集整理的這篇文章主要介紹了
csdn获取自己所有博客的地址,包含分页
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
獲取自己的所有博客地址
一、步驟
1. 先獲取首頁看到的部分
2. 正則截取每月發表的博客數,總和即是所有的博客數。
3. 分頁請求獲取每一頁的博客
4. 正則截取獲得每篇博客的地址
二、代碼
import re
import math
import urllib.requesturl = 'https://blog.csdn.net/qq_40985985'# url = 'https://blog.csdn.net/qq_40985985'
# url = 'https://blog.csdn.net/qq_40985985/article/list/'
# https://blog.csdn.net/qq_40985985/article/details/
html = urllib.request.urlopen(url).read().decode('utf-8')
print(html)all_month_num = re.findall('<span class="count">[0-9]+篇</span>', str(html), re.IGNORECASE)
print(all_month_num)
all_month_num = list(set(all_month_num))
total = 0
for each in all_month_num:each = str(each).replace('<span class="count">', '').replace("篇</span>", '')total += int(each)print(each)
print(total) #總原創文章數
print(math.ceil(total / 42)) #分頁數(csdn默認42篇/頁)for page in range(1, math.ceil(total / 42) + 1):print(page)html = urllib.request.urlopen(url + '/article/list/' + str(page)).read().decode('utf-8')all_url = re.findall('https://blog.csdn.net/qq_40985985/article/details/[0-9]+', str(html), re.IGNORECASE)all_url = list(set(all_url))fp = open('D:\\tests\\csdn.txt', 'a+') #分頁的疊加寫入到一個文件中s = 0for each in all_url:fp.write(each + '\n')print('\t', each)s = s + 1print('\t',str(s))
fp.close()
參考:
https://blog.csdn.net/nameofcsdn/article/details/78734818
總結
以上是生活随笔為你收集整理的csdn获取自己所有博客的地址,包含分页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【PostgreSQL】行变列、非空(C
- 下一篇: PostgreSql、MySql字段值为