python采集博客中上傳的QQ截圖文件
哎,以前寫博文的時候沒注意,有些圖片用QQ來截取,獲得的圖片文件名都是類似于QQ截圖20120926174732-300×15.png的形式,昨天用ftp備份網(wǎng)站文件的時候發(fā)現(xiàn),中文名在flashfxp里面顯示的是亂碼的,看起來好難受,所以寫了一個python小腳本,爬取整個網(wǎng)站,然后獲取每個文章頁面的圖片名,并判斷如果是類似于QQ截圖20120926174732-300×15.png的形式就輸出并將該圖片地址和對應(yīng)的文章地址保存在文件中,然后通過該文件來逐個修改。
好了,下面是程序代碼:
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()
最后,對和我以前剛開始做網(wǎng)站的同學(xué)說下,圖片命名的話最好是用數(shù)字形式或者是英文、拼音的形式,要不然到最后想修改的話就麻煩了,所以最好就是從剛開始就養(yǎng)成好的習(xí)慣,用正確的命名規(guī)范來問文章、圖片來命名,這樣就會好很多。
- Python中使用 Selenium 實現(xiàn)網(wǎng)頁截圖實例
- 使用Python保存網(wǎng)頁上的圖片或者保存頁面為截圖
- Python 實現(xiàn)網(wǎng)頁自動截圖的示例講解
- Python編寫屏幕截圖程序方法
- python操作攝像頭截圖實現(xiàn)遠程監(jiān)控的例子
- Python實現(xiàn)屏幕截圖的代碼及函數(shù)詳解
- Python實現(xiàn)屏幕截圖的兩種方式
- 使用Python編寫一個在Linux下實現(xiàn)截圖分享的腳本的教程
- Python實現(xiàn)對PPT文件進行截圖操作的方法
- Python+selenium實現(xiàn)截圖圖片并保存截取的圖片
- python調(diào)用系統(tǒng)ffmpeg實現(xiàn)視頻截圖、http發(fā)送
- Python實現(xiàn)的網(wǎng)頁截圖功能【PyQt4與selenium組件】
相關(guān)文章
Python實戰(zhàn)小項目之Mnist手寫數(shù)字識別
MNIST 數(shù)據(jù)集已經(jīng)是一個被”嚼爛”了的數(shù)據(jù)集, 很多教程都會對它”下手”, 幾乎成為一個 “典范”. 不過有些人可能對它還不是很了解, 下面通過一個小實例來帶你了解它2021-10-10Pycharm Available Package無法顯示/安裝包的問題Error Loading Package Li
這篇文章主要介紹了Pycharm Available Package無法顯示/安裝包的問題Error Loading Package List解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09詳解Python連接MySQL數(shù)據(jù)庫的多種方式
這篇文章主要介紹了Python連接MySQL數(shù)據(jù)庫方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04