【Python】備份itpub部落格

小亮520cl發表於2018-07-13

itpub改版了,新版備份部落格程式碼如下,思路和上一版備份思路一樣

# -*- coding: utf-8 -*-
import re 
import urllib2
import requests,re
from bs4 import BeautifulSoup as bsp 
for page in range(1,30): ###這兒就是輸入你希望下載的頁數,輸入你的總頁數吧
	url='http://blog.itpub.net/29096438/list/%d/'% page        ####迴圈不同的頁
	text = urllib2.urlopen(url).read()
	pattern = r'<a target=_blank href="/29096438/viewspace-[0-9]*/" class="w750"><p class="title">.*</p></a>' 
	regex = re.compile(pattern) 
	urlList = re.findall(regex,text) ####透過正規表示式找到所有文章的href,此時的href是帶上標題的
	for t in urlList:
	 	i= t.split('=')[2].replace('class','').replace('"','').strip(' ')
	 	newi=re.sub('/29096438','http://blog.itpub.net/29096438',i).decode('utf-8')
	 	fname2=t.split('=')[-1].split('>')[1].split('<')[0]+'.html'.replace(' ','')
	 	# print newi,fname2
	 	try:
	 		r=requests.get(newi,headers={'User-Agent':'Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'})
	 		soup=bsp(r.content,"html.parser")
	 		cont=soup.find('div',{'class':'preview-main'})
	 		f=open(fname2,'w')
	 		f.write(str(cont))
	 		f.close()
	 		print fname2,r,'備份成功' 
	 	except:
	 		pass 
###上面的user-agent隨機從下面取一個,我懶的寫隨機choice了
agents = [
    'Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
    'Avant Browser/1.2.789rel1 ()',
    'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.0 Safari/532.5',
    'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.310.0 Safari/532.9',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.514.0 Safari/534.7',
    'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/9.0.601.0 Safari/534.14',
    'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/10.0.601.0 Safari/534.14',
    'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.20 (KHTML, like Gecko) Chrome/11.0.672.2 Safari/534.20',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.27 (KHTML, like Gecko) Chrome/12.0.712.0 Safari/534.27',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24 Safari/535.1',
    'Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.36 Safari/535.7',
    'Mozilla/5.0 (Windows; U; Windows NT 6.0 x64; en-US; rv:1.9pre) Gecko/2008072421 Minefield/3.0.2pre',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10',
    'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)',
    'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 GTB5',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729; .NET4.0E)',
    'Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',
    'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',
    'Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0',
    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0a2) Gecko/20110622 Firefox/6.0a2',
    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1',
    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b4pre) Gecko/20100815 Minefield/4.0b4pre',
    'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0 )',
    'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)',
    'Mozilla/5.0 (Windows; U; Windows XP) Gecko MultiZilla/1.6.1.0a',
    'Mozilla/2.02E (Win95; U)',
    'Mozilla/3.01Gold (Win95; I)',
    'Mozilla/4.8 [en] (Windows NT 5.1; U)',
    'Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.4) Gecko Netscape/7.1 (ax)',
    'Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.2; U; de-DE) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/234.40.1 Safari/534.6 TouchPad/1.0',
]



備份如下

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2157850/,如需轉載,請註明出處,否則將追究法律責任。

相關文章