用Python定时爬取网站最新资源

记录一下。

写做个网站,爬了另一个网站的内容来做自己网站的内容。

把脚本挂到服务器,每隔一个小时去爬一次资源,然后保存到一个HTML文件里。

用flask做web对接,当有请求的时候就返回那个HTML文件。

这样就实现了一个api接口。思路大概就这样,比较简单,没做什么防护。

 

下面这个是脚本代码。

 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

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值