python 自动下载网站相关附件
2015-07-09 17:33
696 查看
论坛里有人问如何写个简单的爬虫. 要求如下:
每天的最新文章里面的附件
如何做到
定时下载
#看了一下这个网站, 还好. 好久没折腾过 urllib什么的, 然后写了一个, 测试可以.
在正则匹配时, 建议把数据的编码方式转为脚本编码方式一致.
脚本如下:
上面要匹配 最新文章 那个地方, 之前没有把数据转码,就是不行.
以上脚本加个定时任务OK.
每天的最新文章里面的附件
如何做到
定时下载
#看了一下这个网站, 还好. 好久没折腾过 urllib什么的, 然后写了一个, 测试可以.
在正则匹配时, 建议把数据的编码方式转为脚本编码方式一致.
脚本如下:
#!/usr/bin/env python #-*- coding:utf-8 -*- import urllib import re url = "http://www.bjjy.gov.cn" def get_html_data(u): h = urllib.urlopen(u).read() t = "" for i in h.split("\n"): try: t += "\n" + i.decode('gbk').encode('utf-8') except: pass return t def get_link(data): d, link = re.findall(r'最新文章标题开始(.*)最新文章标题结束', data, re.S), [] if len(d): s = re.findall(r'<A HREF="([^"].*)" TARGET="_blank"', d[0], re.I) if len(s): for i in s: link.append(i) return link if __name__ == "__main__": html = get_html_data(url) f_link = get_link(html) for i in f_link: tmp_data = get_html_data(url + i) tmp_link = re.findall(r'<a href="([^"].*)"><span style',tmp_data, re.I) if len(tmp_link): for j in tmp_link: urllib.urlretrieve(url+j, (url+j).split("/")[-1])
上面要匹配 最新文章 那个地方, 之前没有把数据转码,就是不行.
以上脚本加个定时任务OK.
相关文章推荐
- 把变量里的值导入 某文件
- Python学习笔记
- python 中文乱码问题深入分析
- Python中的字符串处理
- python实现1、使用迭代器实现斐波那契数列;2、从迭代器得到序列
- Python 改变和获取当前工作目录
- Python 获得13位unix时间戳
- <转载> 关于python的装饰器
- Python借助Openpyxl读写excel2007 +
- Python类私有方法的陷阱
- Python 万恶的乱码
- 安装MySQL-python报错
- python 编码问题技巧
- python装饰器
- Python为什么要self
- Ubuntu 12.04安装python3.4
- python logging 模块
- python重置变量 sys.defaultencoding
- Python中使用logging模块代替print
- python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level