記錄一下。html
寫作個網站,爬了另外一個網站的內容來作本身網站的內容。web
把腳本掛到服務器,每隔一個小時去爬一次資源,而後保存到一個HTML文件裏。flask
用flask作web對接,當有請求的時候就返回那個HTML文件。api
這樣就實現了一個api接口。思路大概就這樣,比較簡單,沒作什麼防禦。服務器
下面這個是腳本代碼。app
1 import requests,time,re #一共三個模塊,沒裝的先裝 2 3 def zyw(): 4 while(True): 5 url='https://www.525zyw.com/' #爬的網站URL 6 html=requests.get(url).text #獲取網站的首頁源代碼 7 re_url=re.findall('<li class="column half"><div class="lbbt_c00">(.*?)</div>.*?</li>',html,re.S) #比配最新資源 8 list_r='' 9 for i in re_url: 10 tiem=re.findall('.*?>(.*?)</span>.*?',i,re.S)[0] #這裏的四個正則主要是進一步的提取咱們須要的東西 11 src=re.findall('.*?<img src="(.*?)"/>.*?',i,re.S)[0] # 12 href=re.findall('.*?<a href="(.*?)".*?',i,re.S)[0] 13 title=re.findall('.*?title="(.*?)".*?',i,re.S)[0] 14 res='<span style="font-weight: bold;">%s</span><img src="%s%s"/> <a href="%s%s" title="%s" style="color:#000000;" target="_blank">%s</a><br><br>'%(tiem,url,src,url,href,title,title) 15 list_r=list_r+res #通過上面的拼接,這裏是全部的內容加入一個字符串 16 f=open('./templates/zyw.html','w') #打開文件 17 f.write(list_r) #把字符串寫入文件 18 f.close() 19 time.sleep(3600) #這裏是每隔1個小時去爬一次,測試時先註釋掉 20 21 if __name__ == '__main__': 22 zyw() #調用
這裏是用flask框架作對接。原本是想直接返回HTML文件的,可是出現了點問題,我就讀HTML文本直接返回文本。框架
1 from flask import Flask 2 from flask import request 3 4 app=Flask(__name__) 5 @app.route('/zyw/ziyuan/') 6 def hm(): 7 ff=open("templates/zyw.html") 8 str=ff.read() 9 ff.close() 10 return str