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的形式就輸出并將該圖片地址和對(duì)應(yīng)的文章地址保存在文件中,然后通過該文件來逐個(gè)修改。
好了,下面是程序代碼:
import urllib2 from bs4 import BeautifulSoup import re import sys reload(sys) sys.setdefaultencoding('utf-8') baseurl = "http://www.dbjr.com.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://www.dbjr.com.cn/\S*html') pageurl = pattern.findall(str(spanclass)) for i in pageurl: #print i getthenextpage(i) getthenextpage(baseurl) print "the end!" file.close()
最后,對(duì)和我以前剛開始做網(wǎng)站的同學(xué)說下,圖片命名的話最好是用數(shù)字形式或者是英文、拼音的形式,要不然到最后想修改的話就麻煩了,所以最好就是從剛開始就養(yǎng)成好的習(xí)慣,用正確的命名規(guī)范來問文章、圖片來命名,這樣就會(huì)好很多。
- 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)對(duì)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ù)字識(shí)別
MNIST 數(shù)據(jù)集已經(jīng)是一個(gè)被”嚼爛”了的數(shù)據(jù)集, 很多教程都會(huì)對(duì)它”下手”, 幾乎成為一個(gè) “典范”. 不過有些人可能對(duì)它還不是很了解, 下面通過一個(gè)小實(shí)例來帶你了解它2021-10-10Python中itertools庫的四個(gè)函數(shù)介紹
這篇文章主要介紹了Python中itertools庫的四個(gè)函數(shù),主要討論itertools庫中的十分使用的幾個(gè)函數(shù),并重點(diǎn)介紹什么時(shí)候我們應(yīng)該考慮使用它們,需要的朋友可以參考一下2022-04-04Pycharm Available Package無法顯示/安裝包的問題Error Loading Package Li
這篇文章主要介紹了Pycharm Available Package無法顯示/安裝包的問題Error Loading Package List解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09詳解Python連接MySQL數(shù)據(jù)庫的多種方式
這篇文章主要介紹了Python連接MySQL數(shù)據(jù)庫方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04