用Python定时爬取网站最新资源
记录一下。
写做个网站,爬了另一个网站的内容来做自己网站的内容。
把脚本挂到服务器,每隔一个小时去爬一次资源,然后保存到一个HTML文件里。
用flask做web对接,当有请求的时候就返回那个HTML文件。
这样就实现了一个api接口。思路大概就这样,比较简单,没做什么防护。
下面这个是脚本代码。
import requests,time,re #一共三个模块,没装的先装 def zyw():
while(True):
url='https://www.525zyw.com/' #爬的网站URL
html=requests.get(url).text #获取网站的首页源代码
re_url=re.findall('<li class="column half"><div class="lbbt_c00">(.*?)</div>.*?</li>',html,re.S) #比配最新资源
list_r=''
for i in re_url:
tiem=re.findall('.*?>(.*?)</span>.*?',i,re.S)[0] #这里的四个正则主要是进一步的提取我们需要的东西
src=re.findall('.*?<img src="(.*?)"/>.*?',i,re.S)[0] #
href=re.findall('.*?<a href="(.*?)".*?',i,re.S)[0]
title=re.findall('.*?title="(.*?)".*?',i,re.S)[0]
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)
list_r=list_r+res #经过上面的拼接,这里是所有的内容加入一个字符串
f=open('./templates/zyw.html','w') #打开文件
f.write(list_r) #把字符串写入文件
f.close()
time.sleep(3600) #这里是每隔1个小时去爬一次,测试时先注释掉 if __name__ == '__main__':
zyw() #调用
这里是用flask框架做对接。本来是想直接返回HTML文件的,但是出现了点问题,我就读HTML文本直接返回文本。
from flask import Flask
from flask import request app=Flask(__name__)
@app.route('/zyw/ziyuan/')
def hm():
ff=open("templates/zyw.html")
str=ff.read()
ff.close()
return str
用Python定时爬取网站最新资源的更多相关文章
- python 实现爬取网站下所有URL
python3 实现爬取网站下所有URL 获取首页元素信息: 首页的URL链接获取: 遍历第一次返回的结果: 递归循环遍历: 全部代码如下: 小结: python3.6 requests && ...
- Python:爬取网站图片并保存至本地
Python:爬取网页图片并保存至本地 python3爬取网页中的图片到本地的过程如下: 1.爬取网页 2.获取图片地址 3.爬取图片内容并保存到本地 实例:爬取百度贴吧首页图片. 代码如下: imp ...
- Python脚本爬取网站美女照片
上次无意之中看到一个网站,里面全是美女的照片,我就心想,哪天有时间了得把这网站的所有美女照片都得爬下来.今天有时间,写了点代码,爬去了网站的所有照片.附上战果!图片实在是太多了,爬半个多小时 先附上所 ...
- 【Python】爬取网站图片
import requests import bs4 import urllib.request import urllib import os hdr = {'User-Agent': 'Mozil ...
- python 定时爬取内容并发送报告到指定邮箱
import requests import smtplib import schedule import time from bs4 import BeautifulSoup from email. ...
- Python 利用 BeautifulSoup 爬取网站获取新闻流
0. 引言 介绍下 Python 用 Beautiful Soup 周期性爬取 xxx 网站获取新闻流: 图 1 项目介绍 1. 开发环境 Python: 3.6.3 BeautifulSoup: ...
- python爬取网站数据保存使用的方法
这篇文章主要介绍了使用Python从网上爬取特定属性数据保存的方法,其中解决了编码问题和如何使用正则匹配数据的方法,详情看下文 编码问题因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这 ...
- 使用scrapy爬取网站的商品数据
目标是爬取网站http://www.muyingzhijia.com/上全部的商品数据信息,包括商品的一级类别,二级类别,商品title,品牌,价格. 搜索了一下,python的scrapy是一个不错 ...
- 利用linux curl爬取网站数据
看到一个看球网站的以下截图红色框数据,想爬取下来,通常爬取网站数据一般都会从java或者python爬取,但本人这两个都不会,只会shell脚本,于是硬着头皮试一下用shell爬取,方法很笨重,但旨在 ...
随机推荐
- swift 20 - Nested Types
Nested Types 只是为了方便类型的整合和使用 struct BlackjackCard { // nested Suit enumeration enum Suit: Character { ...
- requests 后续1
发送带数据post请求 import requests # 发送post请求 data = { } response = requests.post(url, data=data) # 内网 需要 认 ...
- css part 2
CSS 盒子模型 margin: 用于控制元素与元素之间的距离:margin的最基本用途就是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的. padding: ...
- 51nod 1526 分配笔名(Trie树+贪心)
建出Trie树然后求出一个点子树中有多少笔名和真名.然后贪心匹配即可. #include<iostream> #include<cstring> #include<cst ...
- JavaScript函数写法整理
1.普通函数定义的两种写法 function hello(){ console.log("hello!"); } var hello = function(){ console.l ...
- 紫书 例题 11-2 UVa 1395(最大边减最小边最小的生成树)
思路:枚举所有可能的情况. 枚举最小边, 然后不断加边, 直到联通后, 这个时候有一个生成树.这个时候,在目前这个最小边的情况可以不往后枚举了, 可以直接更新答案后break. 因为题目求最大边减最小 ...
- java 实现顺序结构线性列表
package com.ncu.list; /** * * 顺序结构线性列表 * * @author liuhao * */ public class SquenceList<T> { p ...
- 死锁的Dump文件
死锁的Dump文件 package com.stono.thread; public class DeadLockDemo { private static String A = "A&qu ...
- SolrCloud怎样创建跟新索引信息
发送leader,由leader定位地址.然后写到shard上,同一时候copy到replicaton . 如图
- linux下创建带password的用户
一直在做实验室linuxserver的账号管理系统,现阶段是用户申请后我这边收到邮件,然后手动创建,这个略显麻烦,打算全然做成自己主动化的.用户申请后,我直接在管理界面点击批准就可以创建用户,同一时候 ...