python采集博客中上傳的QQ截圖文件
哎,以前寫博文的時(shí)候沒注意,有些圖片用QQ來截取,獲得的圖片文件名都是類似于QQ截圖20120926174732-300×15.png的形式,昨天用ftp備份網(wǎng)站文件的時(shí)候發(fā)現(xiàn),中文名在flashfxp里面顯示的是亂碼的,看起來好難受,所以寫了一個(gè)python小腳本,爬取整個(gè)網(wǎng)站,然后獲取每個(gè)文章頁面的圖片名,并判斷如果是類似于QQ截圖20120926174732-300×15.png的形式就輸出并將該圖片地址和對應(yīng)的文章地址保存在文件中,然后通過該文件來逐個(gè)修改。
好了,下面是程序代碼:
import urllib2
from bs4 import BeautifulSoup
import re
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
baseurl = "http://chabaoo.cn/dont-worry.html"
#說明下,起始地址是第一篇文章的地址,通過該文章的頁面就
#可以使用BeautifulSoup模塊來獲取上一篇文章的地址
file = open(r"E:\123.txt","a")
def pageloop(url):
page = urllib2.urlopen(url)
soup = BeautifulSoup(page)
img = soup.findAll(['img'])
if img == []:
print "當(dāng)前頁面沒有圖片"
return
else:
for myimg in img:
link = myimg.get('src')
print link
pattern = re.compile(r'QQ\S*[0-9]*png')
badimg = pattern.findall(str(link))
if badimg:
print url
file.write(link + "\n")
file.write(url+"\n")
def getthenextpage(url):
pageloop(url)
page = urllib2.urlopen(url)
soup = BeautifulSoup(page)
for spanclass in soup.findAll(attrs={"class" : "article-nav-prev"}):
#print spanclass
if spanclass.find('article-nav-prev') != -1:
pattern = re.compile(r'http://chabaoo.cn/\S*html')
pageurl = pattern.findall(str(spanclass))
for i in pageurl:
#print i
getthenextpage(i)
getthenextpage(baseurl)
print "the end!"
file.close()
最后,對和我以前剛開始做網(wǎng)站的同學(xué)說下,圖片命名的話最好是用數(shù)字形式或者是英文、拼音的形式,要不然到最后想修改的話就麻煩了,所以最好就是從剛開始就養(yǎng)成好的習(xí)慣,用正確的命名規(guī)范來問文章、圖片來命名,這樣就會好很多。
- Python中使用 Selenium 實(shí)現(xiàn)網(wǎng)頁截圖實(shí)例
- 使用Python保存網(wǎng)頁上的圖片或者保存頁面為截圖
- Python 實(shí)現(xiàn)網(wǎng)頁自動(dòng)截圖的示例講解
- Python編寫屏幕截圖程序方法
- python操作攝像頭截圖實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的例子
- Python實(shí)現(xiàn)屏幕截圖的代碼及函數(shù)詳解
- Python實(shí)現(xiàn)屏幕截圖的兩種方式
- 使用Python編寫一個(gè)在Linux下實(shí)現(xiàn)截圖分享的腳本的教程
- Python實(shí)現(xiàn)對PPT文件進(jìn)行截圖操作的方法
- Python+selenium實(shí)現(xiàn)截圖圖片并保存截取的圖片
- python調(diào)用系統(tǒng)ffmpeg實(shí)現(xiàn)視頻截圖、http發(fā)送
- Python實(shí)現(xiàn)的網(wǎng)頁截圖功能【PyQt4與selenium組件】
相關(guān)文章
Python實(shí)戰(zhàn)小項(xiàng)目之Mnist手寫數(shù)字識別
MNIST 數(shù)據(jù)集已經(jīng)是一個(gè)被”嚼爛”了的數(shù)據(jù)集, 很多教程都會對它”下手”, 幾乎成為一個(gè) “典范”. 不過有些人可能對它還不是很了解, 下面通過一個(gè)小實(shí)例來帶你了解它2021-10-10
Python中itertools庫的四個(gè)函數(shù)介紹
這篇文章主要介紹了Python中itertools庫的四個(gè)函數(shù),主要討論itertools庫中的十分使用的幾個(gè)函數(shù),并重點(diǎn)介紹什么時(shí)候我們應(yīng)該考慮使用它們,需要的朋友可以參考一下2022-04-04
Pycharm Available Package無法顯示/安裝包的問題Error Loading Package Li
這篇文章主要介紹了Pycharm Available Package無法顯示/安裝包的問題Error Loading Package List解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
詳解Python連接MySQL數(shù)據(jù)庫的多種方式
這篇文章主要介紹了Python連接MySQL數(shù)據(jù)庫方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04

