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 "當前頁面沒有圖片"
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)站的同學說下,圖片命名的話最好是用數(shù)字形式或者是英文、拼音的形式,要不然到最后想修改的話就麻煩了,所以最好就是從剛開始就養(yǎng)成好的習慣,用正確的命名規(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-10
Pycharm Available Package無法顯示/安裝包的問題Error Loading Package Li
這篇文章主要介紹了Pycharm Available Package無法顯示/安裝包的問題Error Loading Package List解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
詳解Python連接MySQL數(shù)據(jù)庫的多種方式
這篇文章主要介紹了Python連接MySQL數(shù)據(jù)庫方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04

